Шаг 193.
Автоматизация Microsoft Excel. Печать.
Разрыв страницы

    На этом шаге мы рассмотрим вывод документа в режиме "разметка страницы".

    Начиная с этого шага мы рассмотрим, как и какими методами осуществляются настройка, предварительный просмотр и печать документов в формате рабочих книг Excel. Особенностью печати рабочей книги Excel является необходимость согласования параметров страницы и свойств конкретного принтера, установленного в системе. Эти особенности учитываются и находят свое отражение в свойствах (параметрах) страницы, доступ к которым обеспечивается путем использования объекта PageSetup. Сам этот объект принадлежит объекту "лист", в свою очередь принадлежащему объекту "рабочая книга". После настройки страницы можно просмотреть, как она будет выглядеть на бумаге, и приступить к печати, задав имя принтера и другие параметры печати.

    Сначала рассмотрим формирование той информации, которая будет включена в печатную страницу. Информация для печатной страницы задается путем разделения листа рабочей книги. Для этого используется понятие "разрыв страницы".

Разрыв страницы

    Лист рабочей книги можно "поделить" на печатные страницы с помощью линий разрыва страницы, обозначающих, каким образом информация листа будет перенесена на печатные страницы при печати документа. Для того чтобы отобразить эти линии, достаточно переключить "вид" документа в режим "разметка страницы".

    В приложениях Delphi это можно сделать путем изменения значения свойства View объекта ActiveWindow.

procedure TForm1.ComboBox1Change(Sender: TObject);
//Переключение вида документа
begin
  case ComboBox1.ItemIndex of
   0:E.ActiveWindow.View:=1; //xlNormalView;
   1:E.ActiveWindow.View:=2; //xlPageBreakPreview;
  end;
end;

    Используя константы xlNormalView (1) и xlPageBreakPreview (2), изменяем вид документа и преобразуем его из обычного в тот вид, на котором отображена разметка страниц. На рисунке 1 показан внешний вид листа рабочей книги в режиме "разметка страницы".


Рис.1. Лист рабочей книги в режиме "разметка страницы"

    Вот полный текст приложения.

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label1: TLabel;
    ComboBox1: TComboBox;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
var
  E:variant;
const

{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
//Создание объекта Excel и отображение окна
begin
  E:=CreateOleObject('Excel.Application');
  E.Visible:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
//Создание рабочей книги
begin
  E.WorkBooks.Add;
end;

procedure TForm1.Button3Click(Sender: TObject);
//Открытие рабочей книги
begin
 if OpenDialog1.Execute then
    E.WorkBooks.Open(OpenDialog1.FileName);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
//Переключение вида документа
begin
  case ComboBox1.ItemIndex of
   0:E.ActiveWindow.View:=1; //xlNormalView;
   1:E.ActiveWindow.View:=2; //xlPageBreakPreview;
  end;
end;

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

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




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