Компоненты вкладки Servers
Компонент | Описание |
Курсор - это не компонент, а просто кнопка для быстрой отмены выбора какого-либо объекта. | |
Компонент TWordApplication - это сервер, с помощью которого осуществляется доступ к объекту Appication и запускается приложение Word. | |
Компонент TWordDocument - это специальный сервер документа, т.е. объекта, содержащегося в объекте TWordApplication. С помощью него удобно работать с объектом Document. | |
Компонент TWordFont- это специальный сервер, позволяющий работать со шрифтами в документе. | |
Компонент TWordParagraphFormat - это специальный сервер, позволяющий работать с форматами абзацев в выделенном тексте документа. | |
Компонент TExcelApplication - это сервер, с помощью которого осуществляется доступ к объекту Appication и запускается приложение Excel. | |
Компонент TExcelWorksheet - сервер, позволяющий работать с отдельными листами отдельной книги в Excel. |
Компонент WordApplication – это сервер, с помощью которого осуществляется доступ к объекту Application и запускается приложение Word. Основные свойства данного компонента приведены в таблице 3.2.
Таблица 3.2
Свойства компонента TWordApplication
Свойство | Описание |
Property AutoConnect:Boolean; | Определяет, должен ли сервер автоматически загружаться с началом выполнения приложения. True – соединение с сервером произойдет в момент начала выполнения приложения; False(по умолчанию) – соединение с сервером можно установить вызовом метода Connect. |
Property AutoQuit:Boolean; | Определяет, должен ли сервер автоматически выгружаться при завершении приложения. True – при завершении приложения автоматически вызывается метод, завершающий сервер. False(по умолчанию) – разъединение с сервером можно установить вызовом метода Disconnect |
Property ConnectKind:TConnectKind; | Определяет, как именно осуществляется соединение с сервером:
|
|
|
Documents – представляющий из себя массив открытых на данный момент документов (Document). Соответственно у этого свойства есть свойство Count, показывающее общее количество открытых документов. Свойство только для чтения и используется для проверки, есть ли хоть один открытый документ. Создание нового документа осуществляется методом Add.
|
|
Visible – свойство, позволяющее делать видимым или невидимым документ в любом месте программы.
Selection – свойство, указывающее на позицию курсора или выделенный фрагмент текста в активном документе.
Dialogs – это коллекция объектов Dialogs, которые соответствуют встроенным диалогам Word.
TWordDocument – это специальный сервер документа, т.е. объекта, содержащегося в объекте TWordApplication. С помощью него удобно работать с объектом Document.
Объект документа Document имеет свойство Content, которое является объектом, отражающим весь текст. Это объект типа TRange со всеми соответствующими свойствами и методами.
Многие функции, выполняемые диалогами, могут вызываться как методы документа Document, если от пользователя не требуется активных действий. Сохранение активного документа в файле с заданным именем можно осуществить методом SaveAs, передавая в него как аргумент типа OleVariant имя файла вместе с путем доступа к нему. Если путь отсутствует, то файл сохраняется в текущем каталоге.
Компонент TExcelApplication – это сервер, с помощью которого осуществляется доступ к объекту Application и запускается приложение Excel.
|
|
Основные свойства компонента TExcelApplication аналогичны свойствам компонента TWordApplication.
Ниже приведены некоторые другие свойства и методы данного компонента.
Добавить новую книгу методом 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;Закрыть все книги методом 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);Visible – свойство, позволяющее делать видимым или невидимым документ в любом месте программы, оно тоже имеет этот же идентификатор (lsid = LOCALE_USER_DEFAULT), например:
ExcelApplication1.Visible[lcid]:=true;· Range – объект, позволяющий работать с определенными ячейками. Причем этому объекту можно назначить не только одну ячейку, но и несколько, что очень удобно, когда нужно занести множество значений и не в одну ячейку. К тому же это произойдёт быстрее, т.к. соответственно обращений к серверу будет всего одно вместо нескольких.
Компонент TExcelWorkbook – сервер, позволяющий работать с отдельными книгами в Excel. Основные 4 свойства аналогичны свойствам TWordApplication. А другие некоторые свойства и методы данного компонента представлены ниже:
· Осуществить доступ к определенной книге через массив открытых книг Workbooks
i:=5; ExcelWorkbook1:=ExcelApplication1.Workbooks[i]; ExcelWorkbook1.Activate(lcid);// lcid= LOCALE_SYSTEM_DEFAULT· Скопироватьлист в ту же книгу
var ran: OleVariant;...ran:=ExcelWorkbook1.ActiveSheet;ExcelApplication1.Sheets.Copy(ran,EmptyParam,0);Компонент TExcelWorksheet - сервер, позволяющий работать с отдельными листами отдельной книги в Excel. Основные 4 свойства аналогичны свойствам TWordApplication.
Рассмотрим некоторые свойства и методы данного компонента.
· Удалить лист в книге методом Delete
ExcelWorksheet1.Delete(lcid); //lcid= LOCALE_SYSTEM_DEFAULT· Вставить картинку
ExcelWorksheet1.Shapes. AddPicture ('полный путь доступа к картинке',1,1,10,4,30,50);где 10 - отступ слева, 4 - отступ сверху, 30 – ширина, 50 – высота.
· Определить количество строк и столбцов
// Количество столбцов.caption:=inttostr(ExcelWorksheet1. UsedRange[0].Columns.Count);//Количество строк.caption:=inttostr(ExcelWorksheet1. UsedRange[0].Rows.Count);· Установить ориентацию листа
ExcelWorksheet1.PageSetup. Orientation:=xlLandscape;//Альбомная.ExcelWorksheet1.PageSetup. Orientation:=xlPortrait; //Книжная.· Задать имя листа
ExcelWorksheet1. Name:='Имя листа';· Добавить линию
ExcelWorksheet1. Shapes.AddLine (х1,у1,х2,у2);где х1,у1 – координаты начала линии, х2,у2 – координаты конца линии.
· Добавить фигуру
ExcelWorksheet1. Shapes.AddShape (Type:Integer,х1,у1,х2,у2);где type – задает тип фигуры, х1,у1 – координаты левого верхнего угла, х2,у2 – правого нижнего угла.
Пример. Рассмотрим пример экспорта данных в Excel, полученных на основе запроса ADOQuery1 и размещенных в визуальном компоненте DBGrid1.
Этот процесс выполняется в обработчике события нажатия на кнопку btnExport.
Uses ComObj;
Procedure Tform5. btnExportClick(Sender:TObject);
Var
BeginCol, BeginRow,i,j: integer;
ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData: Variant;
Begin
BeginCol:= 1; BeginRow:=2;
RowCount:=1+Form4.ADOQuery1.RecordCount;
ColCount:= DBGrid1.Columns.Count;
ExcelApp:= CreateOleObject('Excel.Application');
ExcelApp. Application.EnableEvents:= false;
Workbook:= ExcelApp.WorkBooks.Add(ExtractFilePath(Application.ExeName) +
'\Reports\table.xls’);
ArrayData:= VarArrayCreate([1, RowCount, 1, ColCount], varVariant);
DBGrid1.DataSource.DataSet.First;
for i:= 1 to RowCount do begin
begin
for j:= 1 to ColCount do
ArrayData[i, j]:= DBGridl.Fields[j-1]. AsString;
DBGrid1.DataSource.DataSet.Next;
End;
Cell1:= WorkBook.Worksheets[1].Cells[BeginRow, BeginCol];
Cell2:= WorkBook.Worksheets[1].Cells[BeginRow+RowCount-1, BeginCol+ ColCount-1];
Range:= WorkBook.Worksheets[1].Range[Cell1, Cell2]; //выделение диапазона Excel
Range.Value:= ArrayData; //заполнение выделенного диапазона
ExcelApp.Visible:= true; // приложение Excel становится видимым
End;
Дата добавления: 2015-12-21; просмотров: 17; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!