Excel. Трюки и эффекты. Алексей Гладкий
Чтение книги онлайн.

Читать онлайн книгу Excel. Трюки и эффекты - Алексей Гладкий страница 26

СКАЧАТЬ является методом этого класса. Методы делятся на общие (описаны с использованием Public) и частные (описаны с использованием Private).

      Ниже приведена реализация метода для созданного нами класса Class1, при обращении к которому на экран выводится сообщение со значениями атрибутов класса:

      Sub ShowInfo()

      ' Отображение окна со значением свойства strTag и именем типа _

      объекта, на который хранится ссылка

      MsgBox "strTag = " & strTag & vbCrLf & _

      "Object type = " & ObjectType

      End Sub

      Использование класса в программе

      Как было сказано в начале главы, операции со всеми объектами VBA осуществляет только с использованием ссылок. Объявление ссылок на объекты было рассмотрено в разделе, посвященном переменным в VBA. Здесь будет рассмотрено лишь применение объекта созданного ранее класса Class1. Для создания ссылки на объект можно использовать следующее объявление:

      Dim obj As Class1

      После создания ссылки сам объект создается с помощью инструкции Set:

      Set obj = New Class1

      Объявление переменной ссылки и создание объекта можно также совместить:

      Dim obj As New Class1

      Для доступа к свойствам и методам объекта используется точка, например:

      obj.strTag = «Некоторый текст»

      Set obj.ObjectRef = Nothing

      MsgBox obj.ObjectType

      obj.ShowInfo

      Ниже приведен пример процедуры, которая использует реализованный класс

      Class1:

      Sub TestClass()

      ' Создание объекта

      Dim obj As New Class1

      ' Установка свойств

      Set obj.ObjectRef = New Collection

      obj.strTag = "В этом объекте хранится ссылка на объект

      Collection"

      ' Вызов метода

      obj.ShowInfo

      End Sub

      В результате работы данной процедуры на экран будет выведено окно сообщения, показанное на рис. 1.4.

      Рис. 1.4. Окно с информацией о свойствах объекта

      Как можно заметить, в процедуре TestClass не происходит явного уничтожения ссылки на объект класса Class1. Дело в том, что ссылка obj – локальная переменная процедуры. А при выходе из процедуры данные всех локальных (не статических) переменных уничтожаются, в том числе удаляются и локальные ссылки на объекты.

      Использование API-функций в VBA

      Иногда даже при программировании на таком языке, как VBA, возникает необходимость использовать API-функции Windows. Эти стандартные функции действительно предоставляют программисту поистине огромные возможности – от управления отображением окон и кнопок до организации сетевого взаимодействия. Всего Windows API (Application Programming Interface) насчитывает около 1000 различных функций.

      Объявление API-функций

      Чтобы API-функцию можно было вызывать из программы на VBA, ее нужно объявить с использованием инструкции Declare:

      [Public | Private] Declare Function Имя Lib «Библиотека» _

      [Alias «Псевдоним»] [([Аргументы])] [As Имя_типа]

      или, если API-функция не возвращает значения:

      [Public | Private] Declare Sub Имя Lib «Библиотека» [Alias «Псевдоним»] _

      [([Аргументы])]

      Данная инструкция СКАЧАТЬ