Коллекция WorkBooks представляет все открытые книги приложения Excel. Рассмотрим свойства и методы этой коллекции. Как обычно, начнем с методов, позволяющих добавить элемент в коллекцию, удалить его и получить к нему доступ.
Одна из специфических черт элементов этой коллекции состоит в том, что большинство рабочих книг существуют до появления коллекции. Они хранятся во внешней памяти, как файлы, обычно с расширением .xls. Поэтому для добавления элементов в коллекцию применяются два различных метода: Add и Open. Первый добавляет новую, пустую книгу в коллекцию, второй - уже существующую книгу, хранящуюся во внешней памяти.
Синтаксис метода Add таков:
Add(Template)
Необязательный параметр Template задает шаблон создания книги. Этот параметр может быть строкой, задающей имя файла, который хранит некую рабочую книгу. В этом случае книга играет роль шаблона для создания новой книги. Параметр Template может также принимать значение одной из предопределенных констант: xlWBATChart, xlWBATWorksheet, xlWBATExcel4IntlMacroSheet, xlWBATExcel4MacroSheet. В этом случае создается рабочая книга с одним листом, тип которого и задает константа. Если же параметр Template опущен, то создается книга с несколькими пустыми листами, число которых устанавливает свойство SheetsInNewWorkbook.
У метода Open более десяти параметров. Обязательным является только первый - FileName. Он должен быть строкой, которая задает имя файла, хранящего книгу.
Чтобы удалить рабочую книгу из коллекции, нужно закрыть соответствующий файл (в коллекцию входят лишь открытые рабочие книги). Закрытие книги и, следовательно, ее удаление выполняет метод Close. Он определен как для коллекции, так и для рабочей книги - объекта класса WorkBook. В первом случае метод Close не имеет параметров и закрывает всю коллекцию - все рабочие книги. Чаще всего этот метод вызывается объектом - рабочей книгой для своего закрытия. В этом случае его синтаксис:
Close(SaveChanges, FileName, RouteWorkbook)
Все параметры являются необязательными.
Первый - булевого типа: если его значение True, сделанные изменения будут сохранены, в противном случае они не сохраняются. Когда же этот параметр опускается, то при выполнении появляется соответствующее диалоговое окно, в котором свой выбор может сделать пользователь. Второй параметр - FileName - необходим, если речь идет о закрытии новой книги, с которой еще не связано имя файла. Если параметр опущен, а указание имени файла необходимо, то, естественно, появляется диалоговое окно. Третий параметр, как и первый, булевого типа. Он задается, когда рабочая книга может быть направлена нескольким участникам для поочередной работы с ней. Если его значение True, книга направляется следующему по списку ее разработчику.
Чтобы получить доступ к рабочей книге в коллекции, можно воспользоваться методом Item:
Item(Index)
Индекс может указывать порядковый номер книги в коллекции, либо быть именем книги. Заметьте, имя книги это имя файла, в котором она хранится. Когда создается новая пустая книга, то ей по умолчанию система присваивает имя типа " BookN ". При сохранении книги в файле это имя может быть изменено. Метод Item является методом по умолчанию и чаще всего опускается. В этом случае индекс связывается с самим объектом - коллекцией рабочих книг.
Свойство Count возвращает количество элементов коллекции. Доступно только для чтения, имеет тип возвращаемого значения Long.
Помимо перечисленных методов и свойств, позволяющих добавлять, удалять, получать доступ и определять количество элементов, WorkBooks-коллекция имеет некоторые дополнительные возможности: