mail mail

Статьи

Различие в вызовах функций WinAPI в зависимости от версий Windows и Office

Поскольку в приложениях Office 2010 встроен другой VBA (VBA7), в отличие от ранних версий Excel, требуется предусмотреть в коде макросов различных варианты вызова API-функций Windows, чтобы они сохранили свою работоспособность при работе в любой версии Office.

Кроме того, в 64-битных Windows синтаксис вызова функций WinAPI тоже немного отличается от 32-битных систем.

В общем случае, код, корректно работающий в 64-битной Windows, будет выглядеть примерно так:

#If Win64 Then
    Declare Function MyMathFunc Lib "User32" (ByVal N As LongLong) As LongLong
#Else
    Declare Function MyMathFunc Lib "User32" (ByVal N As Long) As Long
#End If

А это код, который не будет выдавать ошибку при работе в Office 2010:

#If VBA7 Then
    Declare PtrSafe Sub MessageBeep Lib "User32" (ByVal N AS Long)
#Else
    Declare Sub MessageBeep Lib "User32" (ByVal N As Long)
#End If

Как же добиться работоспособности кода на любом компьютере?

Если вы хотите опубликовать свою надстройку или макрос на сайте ExcelVBA.ru

Если вы желаете опубликовать свою работу для Excel (надстройку, макрос, функцию, готовое решение, и т.п.) на сайте ExcelVBA.ru,
вам необходимо сделать следующее:
 

  • подготовить статью к публикации
    Для этого в обычном текстовом файле (или документе Word) напишите текст будущей статьи (заголовок и содержание),
    ниже статьи укажите через запятую ключевые слова (они не видны посетителям сайта, зато используются поисковыми системами)

Утилиты для настройки компьютеров, и лечения их от вирусов

Набор системных утилит от SysInternals: Sysinternals Suite

Некоторые утилиты из этого набора: TCPview, ProcessExplorer, AutoRuns

Программа просмотра учётных записей настроенных подключений PPPoE, PPTP, VPN

 

Макросы

Макрос - это программа на языке VBA (Visual Basic for Applications), предназначенная для выполнения заданной последовательности команд (действий) в приложении.

Макросы VBA доступны в приложениях Office (Excel, Word, PowerPoint, Access и т.д.), и также в других программных пакетах (таких как OpenOffice, AutoCAD, SolidWorks, CorelDRAW, WordPerfect, ESRI ArcGIS и т.д.)

Для чего нужны макросы:

Скачать бесплатно Excel 2007

Если вы оказались на этой странице, - видимо, вы ищете, где бы бесплатно скачать Excel 2003, 2007 или 2010.

Сделать это очень просто - есть несколько способов:  

1. Бесплатно скачать Microsoft Office (Excel, Word, Access и другие программы) с торрент-трекера.

Для этого регистрируемся на rutracker.org - а после регистрации заходим в раздел

Макросы при рассылке файлов Excel

Очень часто ко мне обращаются с просьбой сделать макросы, которые должны расширять возможности прайс-листов (файлов Excel), рассылаемых заказчикам по почте.

В таких случаях я обычно стараюсь отговорить заказчика от использования макросов (особенно, если файл Excel будет отправляться сотням человек), по следующим причинам:

  • по-умолчанию макросы в Excel отключены (установлен высокий уровень безопасности). К сожалению, не все разберутся, как и где и включать. Если пользователей пару десятков - этим вопросом можно пренебречь. А для тысяч пользователей вариант с макросами я бы не назвал "удобным"
    Конечно, файл можно (и нужно) снабдить инструкциями по включению макросов для всех версий Excel - но есть и такие люди, кто и с инструкцией ничего не поймёт.
  • есть люди, работающие с файлами Excel при помощи OpenOffice (как из-под Windows, так и из-под Linux). 
    Подавляющее большинство макросов для Excel не будут работать под OpenOffice - там другая объектная модель, имеющая с Excel мало общего.

Надстройки для облегчения работы с макросами

Несколько полезных утилит для тех, кто часто работает с макросами:

  • Smart Indenter - выравнивает код в редакторе VBA (формирует отступы от левого края). Не знаю, как я раньше обходился без этой утилиты...
  • MZTools - множество полезных функций для разработчиков макросов
  • VBE Tools - позволяет легко переименовывать и перемещать элементы управления на форме
  • MsgBox Generator - облегчает создание диалоговых окон (формирует код вызова MsgBox с нужными характеристиками)
  • VBScroll - делает возможным скроллинг кода VBA без установки специального патча для Office
  • VBACodeCleaner - уменьшает размер файлов, содержащих код VBA
  • Protect VBA - утилита для защиты кода VBA (при попытке доступа к макросам появится сообщение Project is unviewable)

Инструментарий разработчика VBA

В этом разделе вы можете скачать мои (b не только мои) наработки, которые можно использовать в различных проектах.

В большинстве случаев достаточно скопировать (перетащив мышкой) необходимые модули и формы из прикреплённых файлов, чтобы обеспечить вашему проекту соответствующую функциональность.  

1. Форма авторизации

2. Прогресс-бар

3. Панель инструментов надстройки

4. Выпадающий календарь в ячейке

5. Отображение кодов символов выделенной ячейки

 

(позже в этом разделе появятся такие инструменты, как: модули работы с протоколами FTP и Telnet, форма выбора даты и времени, и т.д. и т.п.)

RSS-материал