Шаг 93.
Автоматизация Microsoft Word. Работа с объектом WordBasic. Поиск и редактирование текста в документе Word (продолжение)

    На этом шаге мы рассмотрим вставку фрагмента текста в документ Word.

    После того как курсор перемещен в заданное место документа, туда можно вставить текст. Если перед этим был выделен фрагмент текста, то вставляемый текст заменит этот фрагмент. Для этой цели используем функцию WB.inseit(t: string), где t: string - вставляемый фрагмент текста. Рассмотрим следующую процедуру.

procedure TForm1.Button7Click(Sender: TObject);
//Вставка текста в документ
var
  t: string;
begin
  t:=InputBox('Вставляем текст в документ','','');
  WB.insert(t);
end;

    Результат ее работы изображен на рисунке 1:


Рис.1. Результат работы приложения

    Если комбинировать функции поиска и вставки текста, то можно заполнить подготовленный заранее шаблон документа. Можно заметить, что методы объектов Word.Application, в отличие от процедур WordBasic, имеют более гибкие возможности для редактирования текста. Но все же WordBasic позволяет создать простой документ, пример которого мы рассмотрим позже.

    Приведем полный текст приложения.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComObj;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    OpenDialog1: TOpenDialog;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
var
  WB: Variant;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
//Создание объекта WordBasic
begin
 WB:=CreateOleObject('Word.Basic');
end;

procedure TForm1.Button2Click(Sender: TObject);
//Показать окно Word
begin
 WB.AppShow;
end;

procedure TForm1.Button3Click(Sender: TObject);
//Открыть документ Word
begin
  if OpenDialog1.Execute then
     WB.FileOpen(OpenDialog1.FileName);
end;

procedure TForm1.Button4Click(Sender: TObject);
//Перемещение курсора в начало документа
begin
  WB.StartOfDocument;
end;

procedure TForm1.Button5Click(Sender: TObject);
//Перемещение курсора в конец документа
begin
  WB.EndOfDocument;
end;

procedure TForm1.Button6Click(Sender: TObject);
//Поиск фрагмента текста в документе
var
  t: String;
begin
  t:=InputBox('Введем фрагмент текста для поиска','','');
  WB.EditFind(t);
  if WB.EditFindFound then
      ShowMessage('Фрагмент текста '+''''+t+''''+ ' найден.')
  else
      ShowMessage('Фрагмент текста '+''''+t+''''+ ' не найден.')
end;

procedure TForm1.Button7Click(Sender: TObject);
//Вставка текста в документ
var
  t: string;
begin
  t:=InputBox('Вставляем текст в документ','','');
  WB.insert(t);
end;

end.
Текст этого приложения можно взять здесь (6,4 Кб).

    На следующем шаге мы рассмотрим еще несколько функций, используемых для редактирования текста.




Предыдущий шаг Содержание Следующий шаг