На этом шаге мы рассмотрим вставку фрагмента текста в документ 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.
На следующем шаге мы рассмотрим еще несколько функций, используемых для редактирования текста.