На этом шаге мы рассмотрим простейшие операции с объектом WordBasic.
Загрузка объекта Word.Basic для доступа к его процедурам и функциям производится посредством вызова функции CreateOleObject (смотри пример кода предыдущего шага). После этой процедуры приложение Word будет загружено в память, и мы можем работать с ним и с документами. В начале работы разберемся, как сделать видимым окно приложения Word или убрать его с экрана монитора. В фоновом режиме документы обрабатываются значительно быстрее, а после создания или редактирования можно отобразить готовый документ. При работе с Word.Application данное действие производилось установкой свойства Visible объекта Application в значение True или False. Кроме того, считывая значение этого свойства, мы могли определить, в каком (видимом/невидимом) состоянии находится окно приложения. В WordBasic для этой цели применяется несколько процедур. Рассмотрим следующие процедуры.
procedure TForm1.Button2Click(Sender: TObject); //Отображение окна приложения Word begin WB.AppShow; end; procedure TForm1.Button3Click(Sender: TObject); //Скрытие окна приложения Word begin WB.AppHide; end;
Первая процедура делает видимым окно приложения Word на экране компьютера. Она аналогична оператору W.Application.Visible=True; в Visual Basic. Вторая процедура убирает с экрана (скрывает) окно приложения Word.
В набор функций, изменяющих визуализацию главного окна Word, входят также функции, позволяющие изменять размеры и положение окна на рабочем столе:
Приведем текст процедуры, где используются некоторые из перечисленных функций.
procedure TForm1.Button4Click(Sender: TObject); //Изменение размеров и положения главного окна приложения Word var width,height,horizpos,vertpos:integer; begin width:=300; height:=200; WB.AppSize(width,height); horizpos:=10; vertpos:=10; WB.AppWindowPosLeft(horizpos); WB.AppWindowPosTop(vertpos); end;
В результате выполнения данной процедуры окно переместится в положение с новыми координатами, а размеры окна будут установлены в новые значения (рисунок 1).
Вот полный текст приложения.
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; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(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 WB.AppHide; end; procedure TForm1.Button4Click(Sender: TObject); //Изменение размеров и положения главного окна приложения Word var width,height,horizpos,vertpos:integer; begin width:=300; height:=200; WB.AppSize(width,height); horizpos:=10; vertpos:=10; WB.AppWindowPosLeft(horizpos); WB.AppWindowPosTop(vertpos); end; end.
Результат работы приложения изображен на рисунке 1:
Рис.1. Результат работы приложения
Видим, что с помощью команд WordBasic можно добиться такого же результата, как и в случае применения Visual Basic для Word.Application. Но наша цель - не только манипуляции с главным окном приложения Word, а гораздо шире - создание и редактирование простых документов в формате MS Word. Для решения такой задачи нужно научиться создавать новый документ, открывать существующий документ, вставлять, удалять и копировать текст и выполнять другие действия, связанные с созданием и редактированием документа.
На следующем шаге мы рассмотрим создание документа Word.