Другие функции VBA

В этот раздел попали те встроенные функции языка VBA, которые я не смоготнести ни к одной другой категории.

- DoEvents() — это очень важная функция. Она позволяет на время отвлечься от выполнения какой-то операции VBA и передать управление операционной системе, чтобы обработать накопившиеся в операционной системе события (например, нажатия клавиш пользователем). После этого продолжение операции VBA продолжается. Если у вас выполняется очень длительная операция (поиск на дисках, обработка большого объема данных и т. п.) и вы хотите дать пользователю возможность быстро прервать эту операцию, можно выполнять эту команду, например, каждый раз после обработки определенной "порции" данных.

- Environ() — возвращает абсолютный путь для переменных окружения компьютера (полный список переменных, доступных на вашем компьютере, можно просмотреть, если в командной строке выполнить команду SET). Например, вам нужно записать что-то в файл во временном каталоге. Абсолютный путь к временному каталогу на вашем компьютере можно получить так:

MsgBox Environ("TEMP")

- GetAllSettings() — позволяет получить (в виде двумерного массива) из реестра все параметры, которые относятся к указанному вами приложению. Функция SaveSetting() позволяет записать информацию в реестр, а DeleteSetting() — удалить. GetSetting() позволяет получить информацию об определенном параметре. Замечу, что эти методы позволяют обращаться только к одному очень далекому уголку реестра в ветви HKEY_CURRENT_USERS. Обращаться к другим параметрам реестра при помощи этих методов бесполезно. Рекомендую для работы с реестром использовать объектную библиотеку Windows Script Host Object Model, которая также есть на любом компьютере под управлением Windows 2000, XP и 2003. Нужный объект называется WSHShell, методы — RegRead(), RegWrite() и RegDelete(). Справку по объектам этой библиотеки можно найти на сайте Microsoft (www.microsoft.com/scripting).

- Partition() — определяет, к какому диапазону из наборов значений относится переданное вами число, и возвращает описание этого диапазона (в виде строки). Обычно используется при выполнении запросов к базам данных.

- QBColor() — позволяет перевести обозначение цвета из старого номерного обозначения с возможными 16 значениями в RGB-код, который понимает VBA. Обычно используется при исправлении старых унаследованных программ.

- RGB() — еще одна функция для работы с цветом. Позволяет вернуть RGB код, который можно использовать для присвоения цвета, приняв три значения для цветов: красного (Red), зеленого (Green) и синего (Blue). Значение для каждого из основных цветов могут варьироваться от 0 до 255. Например, самый зеленый из возможных цветов получится, если переданные этой функции значения будут выглядеть как RGB(0, 255, 0).

- Shell() — позволяет запустить из VBA внешний программный файл и вернуть информацию о его Program ID в операционной системе. Обычно применяется опытными разработчиками при использовании ими в программах возможностей Windows API.

С практической точки зрения эту функцию можно использовать для запуска любых внешних программ из вашего приложения, хотя, с моей точки зрения, применение специальных объектов WshShell и WshExec из библиотеки Windows Script Host Object Model удобнее (можно передавать в окно клавиатурные комбинации, принимать и передавать значения через командную строку и т. п.).

Эта библиотека есть на любом компьютере Windows, справку по ней можно найти на сайте www.microsoft.com/scripting.

- TypeName() — функция, которая возвращает имя типа данных для переданной ей переменной. Очень удобна для определения типа данных для значения, полученного из базы данных или путем вызова метода какого-то объекта.

- VarType() — делает почти то же самое, но вместо имени возвращает числовой код, который обозначает тип данных. Можно использовать для программных проверок типов данных для переменных.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: