Шаг 96.
Автоматизация Microsoft Word. Работа с объектом WordBasic. Рисунки и другие внешние объекты

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

    Кроме возможности вставить текст, WordBasic предоставляет функции для добавления в документ рисунков и других внешних объектов (OLE-объектов). Рассмотрим, как можно вставить рисунок.

    Для того чтобы вставить рисунок или другой внешний объект, воспользуемся, например, следующим набором процедур:

    Первые две вставляют OLE-объекты, отображение которых обеспечивается программами - OLE-серверами, третья процедура вставляет рисунок. Рассмотрим следующий фрагмент исходного текста.

procedure TForm1.Button3Click(Sender: TObject);
//Вставка рисунка в документ
begin
  if OpenPictureDialog1.Execute then
     WB.InsertPicture(OpenPictureDialog1.FileName,False,False);
end;

    Процедура InsertPicture имеет три аргумента: первый - строка (имя графического файла); второй - логический (связь файла с документом); третий - логический (признак внедрения рисунка в документ).

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

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    OpenPictureDialog1: TOpenPictureDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(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;
 WB.FileNewDefault;
end;

procedure TForm1.Button3Click(Sender: TObject);
//Вставка рисунка в документ
begin
  if OpenPictureDialog1.Execute then
     WB.InsertPicture(OpenPictureDialog1.FileName,False,False);
end;

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

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


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

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




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