Синтаксис VBA Прочие функции VBA

          Назад



3.8.11 Прочие функции VBA


Функции VBA DoEvents(), Environ(), GetAllSettings(), Partition(), QBColor(), RGB(), Shell(), TypeName(), VarType()

В этот раздел попали те встроенные функции языка 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().
  • Partition() — позволяет определить, к какому диапазону из наборов значений относится переданное вами число и возвращает описание этого диапазона (в виде строки). Обычно используется при выполнении запросов к базам данных.
  • QBColor() — позволяет перевести обозначение цвета из древнего номерного обозначения с возможными 16 значениями в RGB-код, который понимается VBA. Обычно используется при переделке унаследованных программ.
  • RGB() — еще одна функция для работы с цветом. Позволяет вернуть цветовой код, который можно использовать для присвоения цвета в коде, приняв три значения для цветов: красного (Red), зеленого (Green) и синего (Blue). Значение для каждого из основных цветов могут варьироваться от 0 до 255. Например, самый зеленый из возможных цветов получится, если переданные этой функции значения будут выглядеть как RGB(0,255,0).
  • Shell() — позволяет запустить из VBA внешний программный файл и вернуть информацию о его Program ID в операционной системе. Обычно используется опытными разработчиками при применении ими в программах возможностей Windows API. С практической точки зрения эту функцию можно использовать для запуска любых внешних программ из вашего приложения, хотя, с моей точки зрения, применение специальных объектов WshShell и WshExec из библиотеки Windows Script Host Object Model удобнее (можно передавать в окно клавиатурные комбинации, принимать и передавать значения через командную строку и т.п.). Эта библиотека есть на любом компьютере Windows.
  • TypeName() — функция, которая возвращает имя типа данных для переданной ей переменной. Очень удобна для определения типа данных для значения, полученного из базы данных или путем вызова метода какого-то объекта.
  • VarType() — делает почти то же самое, но вместо имени возвращает числовой код, который обозначает тип данных. Можно использовать для программных проверок типов данных для переменных.



Далее