Запуск Microsoft Excel, создание и открытие рабочих книг
Для создания примеров использования Microsoft Excel можно использовать код создания контроллера, приведенный в разделе <Общие принципы создания контроллеров автоматизации>, заменив первый оператор в приведенном примере на следующий:
AppProgID := 'Excel.Application';
и заменить комментарии кодом, манипулирующим свойствами и методами объекта Excel.Application. Отметим, однако, что подключение контроллера автоматизации к имеющейся версии Excel с помощью метода GetActiveOleObject может привести к тому, что вся клиентская часть Excel окажется невидимой (это происходит, если имеющаяся копия Excel запущена в режиме, когда ее пользовательский интерфейс недоступен). Причины подобного поведения автору неизвестны. Поэтому, если существует вероятность возникновения подобной ситуации, лучше упростить код создания контроллера и всегда создавать новую копию Excel.
Изучение создания контроллеров Excel мы начнем с создания и открытия рабочих книг.
Создать новую рабочую книгу Excel можно, используя метод Add коллекции Workbooks объекта Application:
App.WorkBooks.Add;
Для создания рабочей книги на основе шаблона следует указать его имя в качестве первого параметра метода Add:
App.WorkBooks.Add('C:\Program Files\Microsoft _ Office\Templates\1033\invoice.xlt');
В качестве первого параметра этого метода можно также использовать следующие константы:
const xlWBATChart = $FFFFEFF3; //рабочая книга состоит из листа с диаграммой xlWBATWorksheet = $FFFFEFB9; //рабочая книга состоит из листа с данными
В этом случае рабочая книга будет содержать один лист типа, заданного указанной константой (график, обычный лист с данными и др.)
Для открытия уже существующего документа следует воспользоваться методом Open коллекции WorkBooks:
App.Documents.Open('C:\MyExcelFile.xls');
Отметим, что свойство ActiveWorkBook объекта Excel.Application указывает на текущую активную рабочую книгу среди одной или нескольких открытых. Помимо этого к рабочей книге можно обращаться по ее порядковому номеру, например ко второй открытой рабочей книге можно обратиться так:
App.WorkBooks[2]
Обратите внимание на то, что в Delphi при использовании позднего связывания синтаксис, используемый для обращения к членам коллекций объектов Excel, отличен от синтаксиса, используемого для обращения к объектам Word - в случае Word мы использовали метод Item, а в случае Excel мы обращаемся к членам коллекции как к элементам массива. Если же вы используете Visual Basic, синтаксис, применяемый для обращения к членам коллекций, будет одинаков для всех коллекций Microsoft Office.
Сделать рабочую книгу активной можно с помощью метода Activate:
App.WorkBooks[2].Activate;
Следующее, чему следует научиться - это сохранять рабочие книги в файлах.