Основы офисного программирования и язык VBA


Вызов функций и оператор Declare - часть 2


Заметьте, в стандартном модуле можно использовать оба описателя, но в модуле класса разрешается использовать только описатель Private.
  • Ключевое слово Sub в первом случае означает, что речь идет о процедуре; альтернативный ключ Function во втором случае указывает на функцию, возвращающую значение, которое может быть использовано в выражениях.
  • Обязательный параметр имя является именем объявляемой процедуры или функции. Это имя используется при вызовах в VBA программах. Оно может совпадать или отличаться от того имени, под которым процедура (функция) хранится в DLL. Заметьте, для имен функций Win32 API в отличие от Win 16 имеет значение различие между прописными и строчными буквами.
  • После обязательного ключевого слова Lib должно следовать в кавычках имя-библиотеки, содержащей объявляемую процедуру.
  • Ключ Alias позволяет указать, что процедура имеет в DLL другое имя - "псевдоним", благодаря чему можно избежать коллизии имен в программе. Если первый символ параметра " псевдоним" не является признаком числа ( #), псевдоним понимается как имя входной точки DLL для данной процедуры; если же первый символ псевдонима - ( #), следующие за ним число должно задавать порядковый номер входной точки процедуры в DLL. Дело в том, что процедура может иметь несколько точек входа.
  • Необязательный список параметры задает список параметров, передаваемых процедуре при вызове.
  • As возвращаемый-тип во втором варианте оператора задает тип значения, возвращаемого функцией; им может быть любой из базисных типов VBA (не допускаются только строки фиксированной длины), тип объекта или определенный пользователем тип.
  • Список параметры - это список разделенных запятыми параметров процедуры; каждый элемент этого списка имеет вид:

    [Optional] [ByVal | ByRef] [ParamArray] переменная[()] [As тип]

  • Здесь ключ Optional означает, что данный параметр необязателен; при этом все следующие в списке параметры должны быть необязательными и сопровождаться этим же ключом Optional. Этот ключ нельзя применять, если среди параметров есть массив параметров ParamArray.
  • Ключевые слова ByVal и ByRef указывают на то, что параметр передается по значению или по ссылке; по умолчанию в VBA предполагается передача значения по ссылке (ByRef).
  • Ключевое слово ParamArray позволяет задать массив элементов типа Variant; этот параметр должен быть последним в списке и не должен перед собой иметь ключей ByVal, ByRef или Optional; такой массив позволяет передавать в процедуру произвольное (заранее неизвестное) число параметров.
  • Переменная - произвольное допустимое в VBA имя переменной; пустые скобки () после имени переменной означают, что соответствующий параметр - массив.
  • Необязательное определение As тип задает тип параметра, значения которого могут быть такими же, как и у описанного выше определения возвращаемый-тип.


    Начало  Назад  Вперед