Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методические_контрольная.doc
Скачиваний:
34
Добавлен:
22.02.2015
Размер:
1.29 Mб
Скачать

Иерархия объектов

В каждом из приложений Office взаимодействие объектов образует многоуровневую структуру. Удобно представлять эту иерархию объектов в виде своеобразного "родословного древа". Для того чтобы правильно обращаться к объектам, нужно понимать эту иерархию, хорошо представлять себе, на каком уровне иерархии находится конкретный объект. Некоторые объекты могут располагаться в разных местах иерархического дерева объектов, на разных его уровнях и тем самым выполняют различные функции.

Полное описание всей иерархической структуры имеющихся объектов в каждом из приложений Office можно получить используя встроенную справку по VBA (Рис. 32).

На данном рисунке имеются следующие обозначения элементов иерархии:

Object and collection – объекты и коллекции;

Object only – только объекты.

Click arrow to expand chart – переход на один уровень ниже (от объекта к подобъекту). Вовстроенной справке на иерархическом дереве объектов простые объекты окрашены бирюзовым цветом, а объекты, являющиеся также и семействами— желтым.

Кроме этого щелкнув на любом из элементов можно получить по нему справку. Единственным неудобством остается то, что вся справочная информация представлена на английском языке.

.

Рис. 32. Первый уровень иерархического дерева объектов Excel

Полная ссылка на объект состоит из ряда имен вложенных последовательно друг друга объектов. Разделителями имен объектов в этом ряду являются точки. Ряд начинается с объекта Application (Приложение) и заканчивается именем самого объекта. Например, полная ссылка на ячейкуA1 рабочего листаУрожайрабочей книги с именемСельхоз_культурыимеет вид:

Application.Workbooks(«Сельхоз_культуры»).Worksheets(«Урожай»).Range(«А1»)

Приводить каждый раз полную ссылку на объект не обязательно. Обычно достаточно ограничиться неявной ссылкой на объект. В неявной ссылке, в отличие от полной, объекты, которые активны в данный момент, можно опускать. Например, в рассмотренном выше случае, если ссылка на ячейку А1 дана в программе, выполняемой в средеExcel, то ссылка на объектApplication, может быть опущена, т.е. достаточно привести относительную ссылку:

Workbooks(«Сельхоз_культуры»).Worksheets(«Урожай»).Range(«А1»)

Если и рабочая книга Сельхоз_культурыи рабочий листУрожай активны, то в относительной ссылке достаточно ограничиться упоминанием только диапозонаА1:

Range(«А1»)

Свойства

В VBA каждый объект обладает определенными свойствами (Properties), описывающими этот объект или его состояние.

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

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

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

  • Value — определяет значение ячейки и многие, многие другие свойства;

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

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

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

ActiveCell.Value

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

Среди наиболее часто используемых свойств объектов Excel можно выделить следующие.

Таблица 3. Свойства объектов Excel

Объект

Описание

Объект Application

ActiveWindow

Активное окно

ActiveWorkbook

Активная рабочая книга

ScreenUpdating

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

StandardFont

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

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

ActiveSheet

Активный рабочий лист

FullName

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

Name

Имя рабочей книги

Saved

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

Объект Worksheet

Name

Имя рабочего листа

OnSheetActivate

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

Previous

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

ProtectContents

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

Visible

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

Объект Window

ActiveCell

Активная ячейка

DisplayGridlines

Режим отображения линий сетки

Selection

Текущий выделенный объект

Visible

Режим видимости окна

WindowState

Режим отображения окна (сворачивает окно в значок или разворачивает окно до нормального или полного режима отображения)

Объект Range

Column

Первый столбец диапазона

Font

Используемый в диапазоне шрифт

Formula

Формула диапазона

Name

Имя диапазона

Row

Первая строка диапазона

Value

Значение ячейки

Worksheet

Рабочий лист, содержащий диапазон

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

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

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

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

ActiveCell.Font.Size = 14

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

ActiveCell.Font.Name = "Courier New Cyr"

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

ActiveCell.Font.Italic = True

Методы

Объект сам по себе не представляет большого значения. намного важнее то какие действия можно совершать над объектом. Метод (Methods) как раз и представляет собой действие, выполняемое над объектом. Синтаксис применения метода:

Объект.Метод

Например, при помощи метода Save(Сохранить)сохраняется рабочая книга (объект Workbook):

Workbook(«Сельхоз_культуры».Save

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

К наиболее распространенным методам Excelможно отнести следующие.

Таблица 4. Методы объектов Excel

Метод

Описание

Объект Application (Приложение)

Quit

Завершает Excel

Undo

Отменяет последнее выполненное действие

Объект Workbook (Рабочая книга)

Activate

Активизирует рабочую книгу

Close

Закрывает рабочую книгу

Save

Сохраняет рабочую книгу

Save As

Сохраняет рабочую книгу под другим именем

Объект Worksheet (Рабочий лист)

Activate

Активизирует рабочий лист

Calculate

Заново вычисляет значения в ячейках рабочего листа

Delete

Удаляет рабочий лист

Protect

Защищает рабочий лист

Unprotect

Отменяет защиту рабочего листа

Объект Window (Окно)

Activate

Активизирует окно

Close

Закрывает окно

Объект Range (Диапазон)

Clear

Полностью очищает диапазон (в том числе и форматирование ячеек)

ClearContents

Очищает содержимое ячеек диапазона

ClearFormats

Очищает форматирование ячеек диапазона

Copy

Копирует диапазон в буфер обмена

Offset

Возвращает диапазон с указанным смещением относительно первоначального диапазона

Paste

Вставляет содержимое буфера обмена в диапазон

Select

Выделяет диапазон

Sort

Сортирует значения в диапазоне