Другие методы и свойства коллекции Workbooks


Доступ к рабочей книге

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

Item(Index)

Index может указывать порядковый номер книги в коллекции, либо быть именем книги. Имя книги – это имя файла, в котором она хранится. Когда создается новая пустая книга, то ей по умолчанию система присваивает имя типа "КнигаX". При сохранении книги в файле это имя может быть изменено. Метод Item является методом по умолчанию и может быть опущен. В этом случае индекс связывается с самим объектом – коллекцией рабочих книг.

Свойство Count возвращает количество элементов коллекции. Доступно только для чтения, имеет тип возвращаемого значения Long.

Свойство Application возвращает корневой объект Application.

Свойство Creator аналогично свойству Application. Оно возвращает код приложения (32-битное целое), который используется при работе с Macintosh.

Свойство Parent возвращает родительский объект (для коллекции Workbooks это объект Application).

Метод OpenText является модификацией метода Open. Он создает новую рабочую книгу с одной страницей, используя для ее создания текстовый файл. В процессе открытия происходит анализ и разбор данных, записанных в текстовом файле. Метод имеет 13 параметров, из которых обязателен лишь первый – FileName, задающий имя текстового файла. Этот метод применяется тогда, когда нужно открыть не существующую рабочую книгу, а некоторый текстовый файл, и в момент открытия преобразовать его в таблицу Excel. Такая ситуация возникает, когда исходную таблицу удобнее подготовить в текстовом редакторе, но затем для работы с ней желательно использовать функции Excel. Необходимость в таком преобразовании возникает довольно часто, поэтому рассмотрим этот метод подробнее.

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

OpenText(Filename, Origin, StartRow, DataType, TextQualifier, _ ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, _ Other, OtherChar, Fieldinfo)

Параметры метода имеют следующий смысл:

1. Filename – обязательный параметр типа String, задает имя текстового файла.

2. Origin указывает, в какой среде был подготовлен файл. Его значением может быть одна из следующих констант: xlMacintosh, xlWindows или xlMSDOS.

3. StartRow задает номер строки, с которой будет начат разбор текста. Значение по умолчанию 1.

4. DataType указывает способ форматирования столбцов таблицы в текстовом файле. Может принимать одно из следующих значений: xlDelimited или xlFixedWidth. В первом случае столбцы отделяются ограничителями, во втором они имеют фиксированную ширину. Значение по умолчанию – xlDelimited.

5. TextQualifier указывает способ выделения текстовых данных. Может принимать одно из следующих значений: xlTextQualifierDoubleQuote (двойные кавычки), xlTextQualifierSingleQuote (одиночные кавычки) или xlTextQualifierNone (текст не выделяется специальными символами). Значение по умолчанию xlTextQualifierDoubleQuote.

6. ConsecutiveDelimiter – параметр булевого типа, принимающий значение True, если последовательность ограничителей должна восприниматься как один ограничитель при разборе данных. По умолчанию имеет значение False.

7. Tab – параметр булевого типа, принимающий значение True, если символ табуляции используется в качестве ограничителя. По умолчанию имеет значение False.

8. Semicolon – параметр булевого типа, принимающий значение True, если символ "точка с запятой" используется в качестве ограничителя. По умолчанию имеет значение False.

9. Comma – параметр булевого типа, принимающий значение True, если символ "запятая" используется в качестве ограничителя. По умолчанию имеет значение False.

10. Space – параметр булевого типа, принимающий значение True, если символ пробела используется в качестве ограничителя. По умолчанию имеет значение False.

11. Other – параметр булевого типа, принимающий значение True, если в качестве ограничителя используется символ, указанный параметром OtherChar. По умолчанию имеет значение False.

12. OtherChar требуется, если предыдущий параметр имеет значение True. Имеет тип String и задает строку, первый символ которой выступает в качестве ограничителя (остальные символы строки, если они есть, игнорируются).

13. Fieldinfo – массив, содержащий информацию, необходимую для разбора индивидуального столбца данных. Интерпретация зависит от значения, заданного параметром DataType. Если столбцы разделяются с помощью ограничителей, то каждый элемент массива задается парой чисел (двухэлементным массивом). Первый элемент пары задает номер столбца (нумерация начинается с 1). Второй – тип данных столбца; его возможные значения:

1 – General – данные не специфицированы

2 – Text – текстовые данные

3 – MDY – дата, заданная в формате (М – месяц, D – день, Y – год)

4 – DMY

5 – YMD

6 – MYD

7 – DYM

8 – YDM

9 – Пропуск данного столбца при разборе

Номера столбцов могут следовать в произвольном порядке. Если какой-либо из столбцов не задан, то к нему при разборе применяются установки, заданные в General. Вот пример задания параметра Fieldinfo:

Array(Array(1,4), Array(3, 9), Array(4, 2))

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

Если параметр DataType указывает, что столбцы в исходном файле имеют одинаковую ширину, то применяется другая интерпретация элементов Fieldinfo. Первый элемент задает номер первого символа (нумерация начинается с 0), начиная с которого следует вести разбор, второй – по-прежнему задает тип разбираемых данных числами от 1 до 9.