Вид листа, область и параметры страницы для печати

Previous  Top  Next

    
 

Вид листа, область и параметры страницы для печати

Вид рабочего листа может быть представлен в режиме "Разметка страницы", если установлен и выбран принтер, или в режиме "Обычный". В режиме разметки страницы есть возможность изменять область печати. Вид рабочего листа определяется константой, которая содержится в поле View объекта ActiveWindow. Она может иметь значения xlNormalView=1 или xlPageBreakPreview=2. Функция WindowView для приложений Delphi реализует изменение вида рабочего листа.

Code:

Function WindowView (view:integer):boolean;

begin

WindowView:=true;

try

E.ActiveWindow.View:=view;

except

WindowView:=false;

end;

End;

 

 

Когда принтер выбран, можно приступать к настройке параметров страницы печати, которые зависят от параметров выбранного принтера. Параметры настройки печати листа содержатся в полях объекта PageSetup, который является свойством листа. Поля объекта PageSetup содержат и определяют ориентацию и пропорции для печати страницы, размеры полей, колонтитулы, порядок и диапазон печати, качество печати. Из всего этого набора остановимся на тех, которые используются наиболее часто. Это задание ориентации страницы, размер бумаги и область печати. Ориентация бумаги определяется константой, которая записывается в поле Orientation объекта PageSetup. Она может иметь два значения: xlLandscape - альбомная и xlPortrait - книжная. Функция PageOrientation реализует это в приложениях Delphi.

Code:

Function PageOrientation (sheet:variant;

orientation:integer):boolean;

begin

PageOrientation:=true;

try

E.ActiveWorkbook.Sheets.Item

  [sheet].PageSetup.Orientation:=orientation;

except

PageOrientation:=false;

end;

End;

 

Размер бумаги определяется константой, записанной в поле PaperSize, которая может иметь более 40 значений, каждое из которых соответствует различным типовым размерам бумаги (см. приложение www.kornjakov.ru/st2_4.zip). Наиболее часто используются размеры бумаги формата A3 (xlPaperA3=8) и A4 (xlPaperA4=9).

Code:

Function PagePaperSize (sheet:variant;

papersize:integer):boolean;

begin

PagePaperSize:=true;

try

E.ActiveWorkbook.Sheets.Item

  [sheet].PageSetup.PaperSize:=papersize;

except

PagePaperSize:=false;

end;

End;

 

 

Область границ страницы - прямоугольная область ячеек, которая будет выведена на печать. Для задания области границ необходимо в поле PrintArea объекта PageSetup записать строку, которая определит верхнюю левую, правую нижнюю ячейку области, например: PrintArea="$A$1:$I$26". Ячейки, которые не входят в эту область, не будут выведены на печать.

Code:

Function PagePrintArea (sheet:variant;

printarea:string):boolean;

begin

PagePrintArea:=true;

try

E.ActiveWorkbook.Sheets.Item

  [sheet].PageSetup.PrintArea:=printarea;

except

PagePrintArea:=false;

end;

End;

 

 

Для того, чтобы линии сетки отображались на печатной форме или были спрятаны, используется свойство PrintGridlines объекта PageSetup.

Code:

Function PrintGridlines (sheet:variant;

gridline:boolean):boolean;

begin

PrintGridlines:=true;

try

E.ActiveWorkbook.Sheets.Item

  [sheet].PageSetup.PrintGridlines:=gridline;

except

PrintGridlines:=false;

end;

End;

 

 

Важным свойством объекта PageSetup являются размеры полей слева, справа, сверху и снизу (LeftMargin, RightMargin, TopMargin, BottomMargin). В эти поля записывается количество точек. Если исходные величины полей заданы в дюймах, то преобразование осуществляем, используя функцию Point=Application.InchesToPoints(Inche), где Point - количество точек, Inche - величина в дюймах.