Шаг 86.
Автоматизация Microsoft Word. Работа с объектами в документе Word. Печать документа

    На этом шаге мы рассмотрим организацию печати и предварительного просмотра документа.

    Печать документа осуществляется с помощью метода PrintOut объекта документ. Следующие процедуры позволяют выполнить печать активного документа, печать любого из открытых документов (NameDoc - имя или индекс документа) и печать двух копий активного документа:

procedure TForm1.Button3Click(Sender: TObject);
//Печать документа
begin
  W.ActiveDocument.PrintOut;
end;

procedure TForm1.Button3Click(Sender: TObject);
//Печать документа
begin
  W.Documents.Item(NameDoc).PrintOut;
end;

procedure TForm1.Button3Click(Sender: TObject);
//Печать документа
begin
  W.ActiveDocument.PrintOut(Copies:=2);
end;

    Для предварительного просмотра активного документа перед печатью можно использовать следующую процедуру.

procedure TForm1.Button2Click(Sender: TObject);
//Предварительный просмотр документа
begin
  W.ActiveDocument.PrintPreview;
end;

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

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    ComboBox2: TComboBox;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    UpDown1: TUpDown;
    UpDown2: TUpDown;
    UpDown3: TUpDown;
    UpDown4: TUpDown;
    Button5: TButton;
    Button6: TButton;
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

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

procedure TForm1.Button4Click(Sender: TObject);
//Выход
begin
  W.Quit;
  Close;
end;

procedure TForm1.Button5Click(Sender: TObject);
//Создание нового документа
begin
  W:=CreateOleObject('Word.Application');
  W.Visible:=True;
  W.Documents.Add;
end;

procedure TForm1.Button6Click(Sender: TObject);
//Заполнение полей характеристиками текущего документа
begin
  PS:=W.ActiveDocument.PageSetup;
  CheckBox1.Checked:=PS.LineNumbering.Active;
  ComboBox1.ItemIndex:=PS.Orientation;
  ComboBox2.ItemIndex:=PS.VerticalAlignment;
  Edit1.Text:=IntToStr(PS.PageWidth);
  Edit2.Text:=IntToStr(PS.PageHeight);
  Edit3.Text:=IntToStr(PS.TopMargin);
  Edit4.Text:=IntToStr(PS.LeftMargin);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
//Изменение ориентации страницы
begin
  PS.Orientation:=ComboBox1.ItemIndex;
  Edit1.Text:=IntToStr(PS.PageWidth);
  Edit2.Text:=IntToStr(PS.PageHeight);
  Edit3.Text:=IntToStr(PS.TopMargin);
  Edit4.Text:=IntToStr(PS.LeftMargin);
end;

procedure TForm1.Button1Click(Sender: TObject);
//Добавление колонки
begin
  if PS.TextColumns.count<2 then
      PS.TextColumns.Add(200);
end;

procedure TForm1.Button2Click(Sender: TObject);
//Предварительный просмотр документа
begin
  W.ActiveDocument.PrintPreview;
end;

procedure TForm1.Button3Click(Sender: TObject);
//Печать документа
begin
  W.ActiveDocument.PrintOut;
end;

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

    На рисунке 1 приведен документ в режиме предварительного просмотра.


Рис.1. Документ в режиме предварительного просмотра

    На следующем шаге мы рассмотрим пример программы.




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