Ссылка на объект

Объект в VBA указывается при помощи ссылки. Запись Workbooks ("cross").Worksheets("Sheet2") указывает на объект Excel, являющийся листом с именем Sheet2 в рабочей книге cross, отличая его таким образом от листа с тем же именем, но в другой рабочей книге. Свойства и методы объекта указываются через точку после ссылки на объект.

Ссылка на объект состоит из имени контейнера и названия свойства-участника и может состоять из нескольких спецификаторов (имен контейнеров), отделенных друг от друга точкой. Такая запись отражает иерархию объектов и позволяет точно указать конкретный объект. Например, оператор Application.ActiveWorkbook.Close закрывает активную рабочую книгу Excel. Свойство ActiveWorkbook является свойством объекта Excel, а Application определяет активную рабочую книгу.

Для объектов Excel, относящихся к классу globals (например, активная рабочая книга, активная ячейка рабочего листа, константа), спецификатор Application можно опустить. Предыдущий оператор можно записать как ActiveWorkbook.Close. Оператор ActiveCell.Value="False" устанавливает в False значение активной ячейки, а оператор ActiveSheet.Range("A1").Value="The First" сохраняет заданное значение в ячейке A1 активного рабочего листа.

Ссылка на объект коллекции – это название коллекции, после которого в скобках указывается индекс объекта или его имя в кавычках. Например, для Excel ссылка Workbooks(1) выбирает первую из открытых рабочих книг, а Workbooks("budget") ссылается на рабочую книгу с именем "budget".

Для PowerPoint ссылка на первый объект коллекции слайдов активной презентации имеет вид ActivePresentation.Slides(1).