Объекты VBA

Объекты в VBA. Урок №40

Мы уже знаем, что VBA (Visual Basic for Applications) – это объектно-ориентированный язык программирования. То есть, в основу программирования на VBA положено такое понятие как объект. Именно через объект мы можем получить доступ к функциональным возможностям того приложения, в котором происходит разработка программы: Word, Excel, PowerPoint, Access и др.

Кроме того, при разработке программы, есть возможность получить доступ к объектам других VBA-приложений и даже создать свои собственные объекты.

Что такое объект в VBA?

Объект – это любая именованная единица, которая объединяет в себе данные и программный код, который использует эти данные и воздействует на них. В таком случае принято говорить, что объект инкапсулирует данные и связанный с ними программный код.

В каждом VBA-приложении присутствует свой уникальный набор объектов, которые имеют свои собственные свойства и методы.

Если говорить о VBA в Excel, то здесь объектом может быть само приложение Excel (Application), рабочая книга (Workbook), листы (Worksheets), ячейки (Cells), диаграммы, экранная форма, кнопка и т.д. Кнопки в панелях инструментов и пункты меню также являются объектами.

Свойства и методы объекта

Свойства представляют характеристики объекта, такие как его цвет (например, цвет заливки ячейки), или размер (например, ширина и высота ячейки) и т.д.

Есть свойства, которые доступны для чтения и для записи, а есть свойства доступные только для чтения. То есть можно либо получить текущее значение свойства, либо установить новое значение свойства.

Методы представляют действия, которые можно выполнить с объектом, такие как изменение его свойств или выполнение определенных операций. Например, с помощью метода Select можно выделить и сделать активной ячейку для последующего изменения её свойств (размера, цвета и т.д.).

Получается, что у каждого свойства есть свои методы.

Например, ячейка А1 на листе книги Excel будет представлена объектом. У этого объекта могут быть свойства, такие как Interior.Color (цвет заливки), или Value (значение) и методы, такие как Select (активация ячейки), Copy (копирование), или Clear (очистить).

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

Пример изменения свойств объекта

Sub myObjColor1()
    ActiveCell.Interior.Color = vbYellow
End Sub

Пример получения значения свойства объекта

Sub myObjColor2()
    Dim n As Integer
    n = ActiveCell.Interior.ColorIndex
    MsgBox (n)
End Sub

Пример использования методов объекта

Sub myObjColor2()
    ActiveCell.Clear
End Sub

Еще немного про объекты их свойства и методы

Сам по себе объект не представляет большого интереса для программы. Гораздо важнее то, какими свойствами обладает этот объект и какие действия можно совершать над ним.

Действия, которые можно совершать с объектом определяются набором его методов. А свойства конкретного объекта определяют его характеристики.

Управлять характеристиками конкретного объекта можно только с помощью его же методов, которые предоставляют доступ к свойствам этого объекта.

Любые свойства, так же как и переменные, хранят данные определённого типа: числовой, строковый, Boolean и т.д.

Main Menu