Шаг 11.
Вкладка Servers. Компонент TExcelApplication
   
На этом шаге мы рассмотрим компонент TExcelApplication.
   
 Компонент TExcelApplication - это сервер, с помощью которого осуществляется доступ к
 объекту Appication и запускается приложение Excel.
   
Основные свойства компонента  TExcelApplication аналогичны свойствам компонента TWordApplication.
   
Изучив основные 4 свойства данного компонента, создадим приложение, запускающее приложение Microsoft Excel и
 отображающее его на экране монитора. Результат работы продемонстрирован на рисунке:

Рис.1. Запуск приложения MS Excel
Текст этого примера можно взять 
здесь
   
Рассмотрим некоторые другие свойства и методы данного компонента.
-  Добавить новую книгу методом Add
ExcelApplication1.Workbooks.Add(EmptyParam,lcid);
В первый параметр этого метода можно передать строку, содержащую имя файла книги. 
lcid - идентификатор
 локализации, в основном равен 0, но целесообразней передавать значения предназначенных для этого констант: 
LOCALE_USER_DEFAULT и 
LOCALE_SYSTEM_DEFAULT - идентификаторы текущего пользователя и системы 
соответственно.
-  Добавить новый лист в существующую книгу методом Add объекта Workbook
ExcelApplication1.Worksheets.Add(Before,after,count,type,lcid);
где 
-  before,after - объекты листа, после которого и перед которым осуществляется вставка, обычно
 достаточно задать один параметр, 
-  count - определяет количество вставляемых листов, 
-  type – тип вставки, при EmptyParam пустой, новый лист.
- Установление числа добавляемых листов в создаваемой книге с помощью свойства SheetsInNewWorkbook
ExcelApplication1.SheetsInNewWorkbook[lcid]:=1;
- Сохранить книгу несколькими способами
  //Метод Save. 
 i:=5;
 ExcelApplication1.Workbooks[i].Save(lcid);
  //Метод SaveAs.
 i:=5;
 ExcelApplication1.Workbooks[i].SaveAs(FileName:OleVariant; FileFormat:OleVariant;
 Password:OleVariant; WriteResPassword:OleVariant; ReadOnlyRecomended:OleVariant;
 CreateBackUp:OleVariant; AccesMode:XLSaveAsAccessMode;
 ConflictResolution:OleVariant;AddtoMru:OleVariant;TextCodePage:OleVariant; 
 TextVisualLayout:OleVariant;lcid:Integer);
 где 
-  FileName - имя файла, в котором сохраняется книга, если имя и путь не указан, 
 то книга сохранятся в текущем каталоге (String).
-  FileFormat - формат файла (Integer).
-  Password - пароль для открытия файла (String).
-  WriteResPassword - пароль для изменения файла (String).
-  ReadOnlyRecomended - рекомендовать доступ только для чтения (Boolean).
-  CreateBackUp - всегда создать резервный копию (Boolean).
-  ConflictResolution - способ разрешения конфликтов между пользователями.
-  AddtoMRU - добавить файл в список недавно использованых (Boolean).
-  AccesMode - режим доступа к файлу и может принимать значения:
  
   -  xlNoChange - не изменять ранее установленный режим;
   
-  xlExclusive - исключительный доступ пользователя к файлу. При этом
      если файл был в это время открыт другим пользователем, то ему будет предложено 
      сохраниться под другим именем.
   
-  xlShared - свободный доступ.
  
 
- Закрыть все книги методом Close
ExcelApplication1.Workbooks.Close(lsid);
ExcelApplication1.Workbooks[i].Close(SaveChanges,EmptyParam,EmptyParam,lcid);
где первый параметр определяет сохранять ли изменения, если 
True - значит сохранять, во втором параметре 
указывается имя файла в который необходимо сохранять изменения, если 
SaveChanges:=True и второй не указан, 
то появится диалог сохранения файла. Если вместо 
SaveChanges поставить 
EmptyParam, то пользователя
 спросят, нужно ли сохранить изменения. Хотя бывает, что срабатывает
 SaveChanges:=EmptyParam и 
SaveChanges:=false одинаково, и оба спрашивают, нужно ли сохранять изменения, третий параметр используется,
 когда книга предназначена для пересылки какому-то адресату.
- Печать книги с помощью метода PrintOut
ExcelApplication1.ActiveWorkBook.PrintOut(EmptyParam,EmptyParam,EmptyParam,
  EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,LOCALE_USER_DEFAULT);
Для этого используется процедура 
procedure PrintOut (From: OleVariant; To_ :OleVariant;
 Copies: OleVariant; Preview: OleVariant; ActivePrinter: OleVariant; PrintToFileOleVariant; Collate: OleVariant; 
PrToFileName:OleVariant; lcid:Integer);
где 
-  From - номер страницы с которой нужно начинать печать, 
-  To_ - номер последней печатаемой страницы,
 если стоит EmptyParam, то последняя, 
-  Copies - определяет количество копий, 
-  Preview - указывает, должно ли открываться окно предпросмотра(False и EmptyParam - не должно), 
-  ActivePrinter -  можно указать имя принтера, по умолчанию текущий, 
-  PrintToFileOleVariant - указывает, должно ли  печататься в файл (False и EmptyParam - не должно),
-   PrToFileName - указывает имя файла при PrintToFileOleVariant:=true, если при этом условии параметр равен 
EmptyParam, то пользователя  спрашивается имя файла (в Excel97 этот параметр отсутствует), 
-  Collate - указывает, нужно ли разбирать по копиям (False и EmptyParam - не должно), 
-  lcid - обычно задается равным LOCALE_USER_DEFAULT.
   
Проиллюстрируем некоторые методы компонента TExcelApplication на примере: создадим приложение, которое позволяет 
открыть книгу, добавить новую книгу, вывести книгу на печать и закрыть все открытые книги.
   
Результат выполнения приложения можно увидеть на рисунке:

Рис.2. Иллюстрация некоторых методов TExcelApplication
Текст этого примера можно взять 
здесь
   
На следующем шаге мы продолжим рассматривать свойства компонента TExcelApplication.
Предыдущий шаг  Содержание
 
Содержание  Следующий шаг
 
Следующий шаг