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

    На этом шаге мы рассмотрим простейшие операции с объектом 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.
Текст этого приложения можно взять здесь (5,4 Кб).

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


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

    Видим, что с помощью команд WordBasic можно добиться такого же результата, как и в случае применения Visual Basic для Word.Application. Но наша цель - не только манипуляции с главным окном приложения Word, а гораздо шире - создание и редактирование простых документов в формате MS Word. Для решения такой задачи нужно научиться создавать новый документ, открывать существующий документ, вставлять, удалять и копировать текст и выполнять другие действия, связанные с созданием и редактированием документа.

    На следующем шаге мы рассмотрим создание документа Word.




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