Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть 2. Основы офисного программирования.doc
Скачиваний:
14
Добавлен:
01.05.2025
Размер:
4 Мб
Скачать
☆

8.2.2. Объект Workbook

Объект Workbook представляет файл рабочей книги Excel. Он расположен на следующем уровне иерархии. С точки зрения разработчика он является контейнером, содержащим любое приложение VBA, созданное в среде Excel. Приложение содержится в отдельной рабочей книге, но может работать с несколькими рабочими книгами.

Любая установка свойства или вызов метода для объекта Workbook действуют на все приложение.

Рабочая книга может храниться в двух формах: в формате XLS (стандартная рабочая книга) и XLA (файл программы-надстройки). При создании файла XLA можно быть уверенным, что приложение является полностью откомпилированным. Кроме того, создание такого файла позволяет спрятать текст программы от ее пользователя.

В Excel можно работать с несколькими рабочими книгами, т.е. рабочие книги образуют семейство Workbooks. Чаще всего используют свойство Count (число объектов Workbook в семействе, доступно только для чтения), методы Add (создание нового объекта семейства), Open (открытие существующей рабочей книги) и Close (закрытие рабочей книги).

Наиболее часто используемыми свойствами объекта Workbook являются следующие свойства:

  • ActiveSheet – ссылка на активный лист заданной рабочей книги;

  • Author – имя автора рабочей книги (может использоваться в программе установки или регистрации);

  • HasRoutingSlip – управляет включением в рабочую книгу маршрутов рассылки по электронной почте (тип Boolean);

  • Name – имя рабочей книги (тип String; свойство только для чтения, т.к. для изменения имени нужно сохранить файл с помощью метода SaveAs)

  • Path – путь к файлу рабочей книги (тип String; только чтение);

  • Saved – если имеет значение True, то со времени последнего сохранения книги в ней не было сделано никаких изменений (тип Boolean; доступно для чтения и записи).

Основные методы объекта Workbook:

  • Activate – активизирует первое окно, связанное с рабочей книгой и делает книгу активной;

  • Close – закрывает рабочую книгу (с помощью аргументов можно указать, сохранять ли изменения перед закрытием и, если изменения сохраняются, имя файла, в котором сохраняется рабочая книга, а также определить необходимость рассылки книги по электронной почте, если для нее задан маршрут рассылки);

  • Protect – защищает рабочую книгу, т.е. блокирует возможность внесения изменений в нее (в качестве аргументов можно передать пароль и «режим» защиты: подлежит ли защите структура рабочих листов и окон);

  • Route – пересылка рабочей книги другому пользователю, используя текущий маршрут рассылки;

  • Save – сохраняет рабочую книгу на старом месте под тем же именем;

  • SaveAs – сохраняет рабочую книгу на новом месте и/или под новым именем;

  • SaveCopyAs – сохраняет рабочую книгу в новом файле, оставляя существующую копию в памяти с прежним именем.

Возможна обработка событий, возникающих при работе с рабочими книгами, при изменении объекта Workbook или при редактировании его рабочих листов. Для описания процедур обработки этих событий не требуется создание модуля класса. Чтобы вывести список событий рабочей книги и просмотреть или отредактировать процедуры их обработки, можно свернуть окно рабочей книги, щелкнуть правой кнопкой по заголовку свернутого окна и выбрать в контекстном меню команду Исходный текст (будет запущен редактор VBA). В окне редактора имя интересующего события можно выбрать из списка процедур объекта Workbook окна программы редактора VBA.

Чаще всего в приложениях обрабатываются следующие события:

  • BeforeClose – возникает при закрытии рабочей книги, перед выводом запроса на сохранение изменений;

  • BeforePrint – возникает непосредственно перед печатью рабочей книги или ее части;

  • BeforeSave – возникает непосредственно перед сохранением рабочей книги;

  • Deactivate – возникает, когда открытая рабочая книга теряет фокус;

  • NewSheet – возникает при добавлении нового рабочего листа;

  • Open – открытие рабочей книги;

  • SheetActivate – возникает при активизации любого рабочего листа книги;

  • SheetBeforeDoubleClick – возникает при двойном щелчке по любому рабочему листу книги, до выполнения стандартной операции, которая производится по умолчанию при двойном щелчке;

  • SheetBeforeRightClick – возникает при щелчке правой кнопкой по любому рабочему листу книги, до выполнения стандартной операции, которая производится по умолчанию при нажатии правой кнопки мыши;

  • SheetCalculate – возникает после пересчета значений на любом рабочем листе книги или после вывода измененных данных на диаграмме;

  • SheetChange – возникает после изменения пользователем или ссылкой содержимого ячейки на любом рабочем листе;

  • SheetDeactivate – возникает, когда активный рабочий лист теряет фокус;

  • SheetSelectionChange – возникает при изменении выделенного диапазона ячеек.

  • Информация в рабочей книге располагается на листах.