Основы офисного программирования и документы Word


Классы библиотеки VBA


В библиотеку VBA входят три класса объектов:

  1. Collection - встроенный в язык VBA динамический класс данных. Очень мощная языковая конструкция, объединяющая достоинства массивов и динамических линейных списков. Также как и массив задает упорядоченную совокупность элементов, к каждому из которых возможен прямой доступ. Но, в отличие от массива может объединять элементы разного типа, не имеет фиксированной длины, создается динамически. Допускается эффективная вставка и удаление любых элементов коллекции, что для массивов, вообще говоря, недопустимо. В сравнении с динамическими списками, для которых также возможны эффективно реализуемые операции по вставке и удалению элементов, несомненным преимуществом коллекции является возможность прямого доступа к ее элементам. При этом доступ возможен как по индексу элемента, так и по ключу, в качестве которого может использоваться произвольное строковое выражение. В классе определены методы Add, Item, Remove и свойство Count.
  2. ErrObject - этот специфический класс описывает единственный объект Err, создаваемый автоматически вместе с проектом и имеющим глобальную область определения. Этот объект содержит информацию о последней ошибке выполнения. Он имеет два метода - Clear и Raise и шесть свойств: Number, Source, Descrition, HelpFile, HelpContext и LastDLLError.
  3. Global - этот класс имеет одно свойство UserForms и два метода - Load и Unload. Глобальное свойство UserForms позволяет получить коллекцию форм, связанных с приложением. Заметьте, сам объект UserForm находится в одной библиотеке - Forms 2.0, а коллекция этих объектов принадлежит глобальному классу библиотеки VBA. Методы Load и UnLoad также связаны с формами. Они позволяют загрузить и выгрузить форму. Оба метода должны быть глобальными и не могут принадлежать к методам самой формы, поскольку первый начинает работать, когда формы еще нет, а второй заканчивает работу, когда формы уже нет.

    Модули библиотеки VBA

    Как я уже говорил, большую часть библиотеки VBA составляют различные стандартные процедуры, встроенные в язык. Эти процедуры и функции, называемые методами, объединены в зависимости от их предназначения в те или иные модули. Ограничусь кратким описанием этих модулей:

  4. Conversion - в этот модули собраны различные функции, выполняющие преобразование между типами. Прежде всего, сюда входит большая группа функций приведения к типу. Имена этих функций состоят из префикса "C", за которым следует имя типа, к которому идет приведение. Так функция CInt(x) выражение x приводит к целому типу, если, конечно, такое преобразование возможно. В этом же модуле находятся и такие известные функции, как Val и Str, осуществляющие взаимное преобразование численного и строкового значения, представляющего число.
  5. DateTime - в этом модуле собраны не только методы, но и свойства, в совокупности, обеспечивающие работу с датами и временами.
  6. FileSystem - этот модуль содержит функции, необходимые при работе с файлами.
  7. Financial - модуль, содержит финансовые функции. Набор этих функций не столь внушителен в сравнении с набором финансовых функций, доступных в Excel. Но, несомненно, и эти функции полезны, в тех ситуациях, когда в процедурах программного проекта нужно вести финансовые расчеты, а проект не связан с документом Excel.
  8. Math и Strings - модули, содержащие наборы математических и функций для работы со строками.
  9. Information - большинство из функций этого набора позволяют отвечать на ряд вопросов, снабжая программиста дополнительной информацией. К ним относятся Is- функции, имя которых состоит из префикса Is, после которого следует имя типа. Эти функции позволяют уточнить тип значения переменной, объявленной как Variant. Так функция IsObject позволяет узнать, представляет ли значение такой переменной некоторый объект. В этот же набор входит и такая функция, как RGB, позволяющая задать требуемый цвет по его трем компонентам - красной, зеленой и голубой составляющим цвета.
  10. Interaction - модуль, включающий очень важные функции, обеспечивающие взаимодействие с пользователем. Упомяну лишь четыре функции из этого набора. Функции InputBox и MsgBox используются для ввода и вывода сообщений в процессе диалога с пользователем. Без них практически не обходится ни один пример. Функция Shell позволяет запускать на выполнение exe-модуль. Пример ее использования приведен в лекции 8, где рассказывается о том, как организовать просмотр созданного справочного руководства. Функция CreateObject позволяет создать объект, хранящийся в DLL. Она используется, если такой объект не может быть создан конструкцией New. В этот же модуль входят и многие другие полезные функции.
  11. Constants, ColorConstants, KeyCodeConstants, SystemColorConstants - в этих четырех модулях сгруппированы различные константы, назначение которых можно определить по имени модуля.




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