Свойства иерархических объектов Visual Basic for Application в Microsoft Office Excel.

В VBA, как и в реальной жизни, всякий объект обладает определенными свойствами (Properties), описывающими этот объект или его состояние. Свойства и методы предназначены для доступа к содержимому и функциональности объектов. Например, свойство Value объекта Range используется для просмотра значения в ячейке B3 на рабочем листе Sales из рабочей книги Current.xls :

Workbooks("current.xls").Worksheet("sales").Range("B3").Value=3

Свойство Bold объекта Font позволяет изменить начертания шрифта в ячейке B3 рабочего листа Sales на полужирное:

Workbooks("current.xls").Worksheet("sales").Range("B3").Font.Bold =true

Приведем еще один пример — в приложении Excel объект Range (диапазон ячеек рабочего листа) имеет такие свойства, как:

· Font — используемый шрифт;

· Formula — определяет содержимое ячейки или диапазона ячеек;

· Value — определяет значение ячейки;

и многие, многие другие свойства.

При ссылке на свойство объекта используется тот же самый синтаксис, что и при уточнении иерархического соподчинения объектов. Сначала указывается объект, затем ставится точка, за которой следует свойство:

Объект.свойство

Например, для ссылки на значение активной ячейки используется следующая запись:

ActiveCell.Value

Более всего новичка может запутать тот факт, что некоторые свойства объектов сами в свою очередь могут выступать в качестве объектов. Так, например, объект Application имеет свойство ActiveWindow, которое показывает, какое окно является активным в настоящий момент. В то же время ActiveWindow, как уже упоминалось, является объектом семейства Windows, который может иметь свойство ActiveCell, в свою очередь являющееся объектом класса Range. Далее, ActiveCell имеет свойство Font, также являющееся объектом, имеющим такие свойства, как Name,

Size или Bold. Таким образом, возникает иерархия свойств-объектов, аналогичная иерархии "чистых" объектов. При ссылке на свойства нижних уровней могут использоваться иерархические ссылки вроде следующей:

ActiveWindow.ActiveCell.Font.Size

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

Свойства объектов Excel

Объект Application

1. ActiveWindow – Активное окно

2. ActiveWorkbook – Активная рабочая книга

3. ScreenUpdating – Режим обновления экрана (при выполнении процедуры для ускорения работы можно приостановить обновление отображаемых данных, и снова включить обновление перед выходом из процедуры)

4. StandardFont – Имя стандартного шрифта для новых рабочих листов

Объект Workbook (элемент из семейства Workbooks)

1. ActiveSheet – Активный рабочий лист

2. FullName – Полное имя рабочей книги, включая путь

3. Name – Имя рабочей книги

4. Saved – Признак того, что состояние рабочей книги сохранено на диске (имеет логическое значение False, если в книге были сделаны изменения)

Объект Worksheet

1. Name – Имя рабочего листа

2. OnSheetActivate – Имя процедуры, вызываемой при активизации рабочего листа пользователем

3. Previous – Предыдущий рабочий лист

4. ProtectContents – Режим защиты содержимого ячеек рабочего листа

5. Visible Режим видимости рабочего листа (скрыт или показан)

Есть два способа использования свойств объектов: можно либо получить текущее значение свойства, либо изменить свойство (то есть задать новое значение для этого свойства). При изменении свойства необходимо указать сначала имя объекта, а затем имя свойства, использовав в качестве разделителя точку, затем следует оператор присваивания ( = ) и новое значение:

Объект.Свойство = новоеЗначение

В этом выражении новое значение может быть константой или формулой, возвращающей нужное значение, и принадлежать к одному из трех типов:

1. Числовое значение. Например, при установлении размера шрифта может использоваться следующий оператор:

ActiveCell.Font.Size = 14

2. Строка символов. Строковые значения заключаются в двойные кавычки. Вот пример изменения используемого шрифта:

ActiveCell.Font.Name = "Courier New Cyr"

3. Логическое значение. Обратите внимание, что в VBA используется обозначение True и False, в отличие от функций рабочего листа, где используется обозначение ИСТИНА и ЛОЖЬ. Вот пример изменения начертания шрифта (применение курсива):

ActiveCell.Font.Italic = True