Работа с приложением Microsoft Excel
WordApplication1.Selection.Find.Execute(doc, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, FOne, EmptyParam, text, ROne, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordApplication1.Selection.HomeKey(start, EmptyParam);
WordApplication1.Connect;
EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
7. Соединиться с Сервером Word и подключиться к документу.
8. Переходим в начало документа
start:=wdStory;
9. Поиск и замена в документе фрагмент ' <Фамилия>' заменяем на ‘Королев’
doc:='<Фамилия>';
text:='Королев';
FOne:=wdFindStop;
ROne:=wdReplaceOne;
10. Сделать видимым документ, с помощью свойства WordApplication - Visible:
WordApplication1.Visible:=true;
Полный пример:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleServer, WordXP;
type
TForm2 = class(TForm)
WordApplication1: TWordApplication;
Button1: TButton;
procedure Button1Click(Sender: TObject);
Procedure zamena(doc,baz:oleVariant);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
var
FOne,ROne,start:OleVariant;
Fname:OleVariant;
begin
Fname:='d:\Blank.doc';
WordApplication1.Documents.Open(Fname, EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordApplication1.Connect;
zamena('<Фамилия>','Королев');
WordApplication1.Visible:=true;
end;
Procedure TForm2.zamena(doc,baz:oleVariant);
Var FOne,ROne,start:OleVariant;
begin
start:=wdStory;
WordApplication1.Selection.HomeKey(start, EmptyParam);
FOne:=wdFindStop;
ROne:=wdReplaceOne;
WordApplication1.Selection.Find.Execute(doc, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, FOne, EmptyParam,
baz, ROne, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;
end.
Компонент TExcelApplication - это сервер, с помощью которого осуществляется доступ к объекту Appication и запускается приложение Excel .
Основные свойства компонента TExcelApplication аналогичны свойствам компонента TWordApplication .
Для подключения к Excel и работы с ним нам понадобится переменная типа Variant:
Excel:Variant; Далее создаем OLE объект:
OLE (англ. Object Linking and Embedding , произносится как oh-lay [олэй]) — технология связывания и внедрения объектов в другие документы и объекты, разработанные корпорацией Майкрософт. В 1996 году Microsoft переименовала технологию OLE 2.0 в ActiveX.
Excel:=CreateOleObject('Excel.Application'); Добавляем новую книгу:
Excel.Workbooks.Add; Показываем Excel:
Excel.Visible:=true;
Excel.WorkBooks[1].WorkSheets[1].Range['A1:E13'].HorizontalAlignment:=3;
(HorizontalAlignment:=3 – определяет отступ для набора текста в ячейке.)
Теперь до любой ячейки мы можем добраться следующим образом:
Excel.ActiveWorkBook.WorkSheets[1].Cells[1, 2]:='Текст ячейки (1,2)';
Определяем ширину колонок:
Excel.WorkBooks[1].WorkSheets[1].Columns[1].ColumnWidth:=7;
Excel.WorkBooks[1].WorkSheets[1].Columns[2].ColumnWidth:=10;
Excel.WorkBooks[1].WorkSheets[1].Columns[3].ColumnWidth:=25;
Excel.WorkBooks[1].WorkSheets[1].Columns[4].ColumnWidth:=25;
Excel.WorkBooks[1].WorkSheets[1].Columns[5].ColumnWidth:=20;
Определяем заголовки для столбцов
Excel.WorkBooks[1].WorkSheets[1].Cells[3,1]:='Номер';
Excel.WorkBooks[1].WorkSheets[1].Cells[3,2]:='рег номер';
Excel.WorkBooks[1].WorkSheets[1].Cells[3,3]:='Дата';
Excel.WorkBooks[1].WorkSheets[1].Cells[3,4]:='Фамилия имя отчество';
Excel.WorkBooks[1].WorkSheets[1].Cells[3,5]:='Паспортные данные';
Заполним первый столбец (и поместим таблицу в рамку толщиной = 3):
for i:=3 to 13 do begin
if i<13 then Excel.WorkBooks[1].WorkSheets[1].Cells[i+1,1]:=IntToStr(i-2);
Excel.WorkBooks[1].WorkSheets[1].Range['A'+intToStr(i)+':E'+IntToStr(i)].Borders.Weight:=3;
end;
Для установки шрифта и размера текста выделите нужный диапазон и установите свойство Name объекта-свойства Font объекта Selection и свойство Size для изменения размера: (для ячейки А4)
Excel.ActiveWorkBook.WorkSheets[1].Range['A4'].Select; Excel.Selection.Font.Name:='Courier New'; Excel.Selection.Font.Size:=18; Если Вы хотите установить жирный или, например, наклонный стиль написания текста установите соответствующие свойства:
Excel.ActiveWorkBook.WorkSheets[1].Range['G1'].Select; Excel.Selection.Font.Bold:=true; // Для жирного текста Excel.Selection.Font.Italic:=true; // Для наклонного текста Для указания цвета текста измените свойство ColorIndex все того же объекта Font:
Excel.ActiveWorkBook.WorkSheets[1].Range['A1'].Select; Excel.Selection.Font.ColorIndex:=3; Вот несколько индексов цветов:
Индекс - Цвет 0 - Авто 2 - Белый 3 - Красный 5 - Синий 6 - Желтый 10 - Зеленый
Для изменения цвета фона ячейки используйте объект Interior свойства Selection:
Excel.ActiveWorkBook.WorkSheets[1].Range['H1'].Select; Excel.Selection.Interior.ColorIndex:=3; // Цвет
Представьте такую ситуацию: необходимо объединить несколько ячеек и выровнять текст в них по центру.
Выделяем ячейки с A1 по G1:
Excel.ActiveWorkBook.WorkSheets[1].Range['A1:G1'].Select; Объединяем:
Excel.ActiveWorkBook.WorkSheets[1].Range['A1:G1'].Merge;