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

Пять наиболее часто используемых объектов

Среди более 100 объектов Excel в программировании на VBA чаше всего используются следующие:

  • Application (Приложение)

  • WorkBook (Рабочая книга)

  • Worksheet (Рабочий лист)

  • Range (Диапазон)

  • Chart (Диаграмма)

Это не значит, что вы не будете работать с другими объектами Excel, но приведенные являются "рабочими лошадками" любого создаваемого приложения. Объект Application представляет саму программу Excel, позволяя использовать установки Excel уровня приложения, встроенные функции Excel, а также высокоуровневые методы, такие как InputBox.

Объект WorkBook представляет рабочую книгу Excel, т.е. файл Excel. Но в VBA эти понятия не эквивалентны: вы не открываете файл Excel - вы открываете рабочую книгу Excel, вы не сохраняете файл рабочей книги - вы сохраняете саму рабочую книгу, и т.д.

При изучении Excel вы в первую очередь знакомитесь с рабочими листами, из которых состоит рабочая книга. Объект Worksheet (Рабочий лист) - отдельная страница в рабочей книге, имеющая индивидуальное имя и предназначенная для хранения данных и выполнения вычислений.

Рабочий лист в свою очередь состоит из ячеек. По логике, должен существовать объект Cell (Ячейка), но такого в Excel нет (есть свойство Cell, с которым мы познакомимся позднее). Ячейки представляет объект Range, который может состоять из одной или нескольких ячеек.

Всем известны развитые средства Excel для построения диаграмм. Поэтому не удивительно, что одним из часто используемых объектов является объект Chart (Диаграмма). Все, что можно "сотворить" с диаграммами в Excel, можно повторить с помощью кода VBA.

Все элементы управления, с которыми мы работали в 3-м часе, также являются объектами. В 15-м часе "Автоматизация экранных форм" мы снова встретимся с элементами управления как объектами Excel.

Как понимать иерархию объектной модели

Мы уже отмечали, что объектная модель Excel построена в виде иерархической диаграммы, на вершине которой находится объект Application. Под этим объектом расположены другие объекты, среди которых - WorkBook. В терминологии VBA такое подчинение одного объекта другому называется вложением, т.е. объект WorkBook вложен в объект Application, а объект Worksheet - в объект WorkBook. Такое вложение одного объекта в другой очень напоминает русскую матрешку.

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

Концепция вложения объектов широко используется при создании ссылок на объекты в коде VBA. Для полного определения объекта необходимо создать "туннель" через все уровни иерархии объектной модели. Например, чтобы сослаться на ячейку А1 на рабочем листе Лист1 рабочей книги Книга1, надо применить следующий код:

Application.Workbooks("Книга1").Worksheets("Лист1").Range("A1")

В большинстве случаев объект Application можно не упоминать (на Application.InputBox это не распространяется). На ячейку А1 можно дать ссылку в следующем виде:

Workbooks("Книга1").Worksheets("Лист1").Range("А1")

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

Range("A1")

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