Ієрархія об’єктів в VBA

В VBA є більш 100 різних класів об’єктів, які утворюють деяку ієрархію. На вершині ієрархії перебуває об’єкт Application (додаток), який включає всі інші об’єкти. Так, об’єкт Application, вершина ієрархії об’єктів додатка Word, містить у собі в тому числі об’єкти Document (документ) і Selection (виділений фрагмент документа), а об’єкт Document включає об’єкти Character (символ), Paragraph (абзац), Table (таблиця) і ін.

На вершині ієрархії об’єктів додатка Excel стоїть об’єкт Application (додаток), у якому може бути відкрито кілька книг (сімейство об’єктів Workbooks), кожна з яких містить кілька аркушів (сімейство Worksheets), на кожному з яких може бути обраний діапазон гнізд (сімейство Range), які містять у собі певні гнізда (сімейство Cells), і так далі.

Для звертання до об’єкта в об’єктно-орієнтованому програмуванні використовується посилання на об’єкт, яке складається з ряду імен вкладених послідовно друг у друга об’єктів. Відповідно до прийнятої в об’єктно-орієнтованому програмуванні крапкової нотації роздільниками імен об’єктів у цьому ряді є крапки, ряд починається з об’єкта найбільш високого рівня Application і закінчується іменем об’єкта, що цікавить нас.

Наприклад, у додатку Excel посилання на гніздо А1 буде виглядати в такий спосіб:

Application.Workbooks (“Пpo6a.xls”) .

Worksheets(“Аркуш1”) .Cells (1,1)

Однак робити щораз повне посилання на об’єкт необов’язково. Якщо об’єкт є активним, наприклад, якщо в додатку Excel відкритий документ Workbooks (“npoбa.xls”) і активним є аркуш Worksheets (“Аркуш1”), досить зробити відносне посилання на саме гніздо:

Cells(l,l)

Наступна