unit WordCOMUse;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComObj; // Модуль использования COM

type
  TFormWord = class(TForm)
    bnOpenWord: TButton;
    bnSetText: TButton;
    bnAddTable: TButton;
    bnSave: TButton;
    bnExitWord: TButton;
    procedure bnOpenWordClick(Sender: TObject);
    procedure bnSetTextClick(Sender: TObject);
    procedure bnAddTableClick(Sender: TObject);
    procedure bnSaveClick(Sender: TObject);
    procedure bnExitWordClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormWord: TFormWord;

implementation

var
  // Объект OLE
  Wrd: OleVariant;

{$R *.dfm}

procedure TFormWord.bnOpenWordClick(Sender: TObject);
begin
// Создаем объект
Wrd := CreateOleObject('Word.Application');
// Делаем видимым приложение
Wrd.Visible := true;
// Добавляем новый документ
Wrd.Documents.Add;
end;

procedure TFormWord.bnSetTextClick(Sender: TObject);
begin
// Процедура записи текста
// Устанавливаем шрифт
Wrd.Selection.Font.Size := 20;
Wrd.Selection.Font.Bold := true;
// Пишем текст
Wrd.Selection.TypeText('Технология COM является одной из современных');
Wrd.Selection.TypeText('технологий организации межпроцессного взаимодействия'#13#10#13#10);
// Задаем новые параметры шрифта
Wrd.Selection.Font.Size := 12;
Wrd.Selection.Font.Bold := false;
Wrd.Selection.Font.Italic := true;
Wrd.Selection.TypeText('Подпись: ');
Wrd.Selection.Font.Bold := true;
Wrd.Selection.TypeText('Delphi'#13#10#13#10);
end;

procedure TFormWord.bnAddTableClick(Sender: TObject);
begin
// Процедура добовления новой таблици
Wrd.ActiveDocument.Tables.Add(Wrd.Selection.Range,3,3);
end;

procedure TFormWord.bnSaveClick(Sender: TObject);
begin
// Сохранение документа
Wrd.ActiveDocument.SaveAs(ExtractFilePath(Application.EXEName) + '_result.DOC');
end;

procedure TFormWord.bnExitWordClick(Sender: TObject);
begin
// Закрытие приложения
Wrd.Quit;
end;

end.
