![]() ![]() колонтитул в word 2007, 0000002111
Функции 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 может принимать следующие значения:
Можно использовать в качестве аргумента Type сумму доступных значений. Например, для ввода как такстовых, так и числовых значений можно задавать значение 3 (1+2).
|