HTML, Excel, Word, SEOОсновы VBA ⇒ Функции host-приложений

Основы VBA

Самоучитель vba: Теория
..Первый макрос в Word
..Этапы записи макроса
..Запись макроса в Word
..Запись макроса в Excel
..Код макроса
..Выполнение макроса
..Типы данных VBA
..Переменные VBA
..Константы VBA
..Совместимость типов данных
..Арифметические операторы
..Логические операторы
..Строковые операторы
..Функции VBA ч.1
..Функции VBA ч.2
..Примеры использования функций
..Функции host-приложений
..Функции-процедуры
..Пользовательские функции в Excel
..Операторы ветвления: простой выбор
..Операторы ветвления: сложный выбор
..Использование MsgBox
..Прерывание процедур и функций
..Необязательные аргументы функций
..Циклы VBA ч.1
..Циклы ч.2
..Циклы ч.3
..Массивы VBA ч.1
..Массивы ч.2
..Массивы ч.3
..Управление файлами с помощью VBA
Самоучитель vba: Практика
Игра: Цепная реакция
Приложения
..Сумматор
..Наклейки
..Восьмерка
..Менеджер почты
Надстройки
..DEF
..SortSheets
..HideSheet

 

Функции host-приложений


Функции host-приложения, доступные для VBA, не являются частью VBA, они являются частью host-приложения. Например, функции рабочих листов Excel не являются частью программирования языка VBA, но они являются частью host-приложения Excel. Не каждое host-приложение VBA содержит функции, которые можно использовать в VBA. Отсюда, если вы собираетесь использовать процедуры в различных приложениях, не стоит использовать функции host-приложения.

Чтобы использовать функцию host-приложения необходимо обратиться к ней посредством программного объекта Application. Например:


MsgBox Application.Min(1, 5, 7, 9)


Обратите внимание, что за словом Application следует точка (точка-разделитель), а затем имя функции без пробелов.

Результат функции Excel нельзя игнорировать. Необходимо всегда включать круглые скобки в вызов функции Excel и всегда каким-то образом использовать результат функции: как значение в выражении, аргумент для другой функции и проч.

Функции host-приложения, имеющие те же имена, что и функции VBA, не обязательно выполняют те же самые задачи и выдают те же самые результаты. Например, Excel-функция LOG и VBA-функция LOG - это не одно и то же.

Следует также иметь в виду, что не каждая функция host-приложения доступна VBA. Для проверки доступности функции необходимо воспользоваться инструментом Object Browser среды VBA. Чтобы узнать, какие функции имеются в приложении и узнать, каково назначение и как использовать эти функции, необходимо обратиться к справочной системе приложения (например, произвести поиск по слову functions).


В заключение скажем о полезном дополнительном свойстве функции InputBox приложения Excel, которого нет в VBA. InputBox в Excel имеет необязательный параметр Type, задающий тип вводимого значения. Это можно использовать в качестве дополнительного контроля вводимой информации.

Праметр Type может принимать следующие значения:


Значение Что означает
0 Формула
1 Число
2 Текст
4 Логическое значение
8 Ссылка на ячейку, как объект диапазона
16 Значение ошибки, такое как #N/A
64 Массив значений

Можно использовать в качестве аргумента Type сумму доступных значений. Например, для ввода как такстовых, так и числовых значений можно задавать значение 3 (1+2).




В начало страницы



В начало страницы