На этом шаге мы рассмотрим вывод документа в режиме "разметка страницы".
Начиная с этого шага мы рассмотрим, как и какими методами осуществляются настройка, предварительный просмотр и печать документов в формате рабочих книг 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.
На следующем шаге мы рассмотрим изменение местоположения разметки.