Top > OOoBasic > Calc > pagesettings

ページ設定 Edit

Calc シートのページ設定を変更します。

Calc シートのページ設定は,ページスタイルと関与しています。ページスタイルを使用していないと思っていてもメニューからページ設定を変更すると "Default" のスタイルが変更されます。

Calc でのページ設定にはスタイルを使用します。

ページスタイル Edit

今にシートで使用しているページスタイルは,シートオブジェクトの PageStyle プロパティーで知ることができます。

Sub pagestyle_1
Dim oDoc As Object, oSheet As Object

  oDoc = ThisComponent
  oSheet = oDoc.getSheets().getByIndex( 0 )
  MsgBox oSheet.getPropertyValue( "PageStyle" )
End Sub

何も変更していないドキュメントのシートなら "Default" のページスタイルが使用されています。テンプレートなどから作成した場合には別のスタイルが使用されているかもしれません。

ページスタイルにアクセスするには,スタイルファーミリーコンテナからスタイルファーミリーを取得して,さらにスタイルを取得します。何のことやら分からないので次のコードをみてください。

Sub pagestyle_2
Dim oStyleFamilies As Object, oPageStyles As Object
Dim oPageStyle As Object
Dim oDoc As Object, oSheet As Object
Dim sStyles() As String

  oDoc = ThisComponent
  oSheet = oDoc.getSheets().getByIndex( 0 )
  oStyleFamilies = oDoc.getStyleFamilies() ' --1
  oPageStyles = oStyleFamilies.getByName( "PageStyles" ) ' --2
  sStyles() = oPageStyles.getElementNames()
  For i% = 0 To UBound( sStyles() )
    MsgBox sStyles(i)
  Next i
  If oPageStyles.hasByName( "Default" ) Then
    oPageStyle = oPageStyles.getByName( "Default" ) ' --3
    Globalscope.BasicLibraries.LoadLibrary( "mytools" )
  End If
End Sub

最初はドキュメントの持つページスタイルは "Default" と "Report" の二つだけです。 "1" の行はスタイルを使用するときにいつも使用します。StyleFamilies container とよばれるようです。"2" の行は oStyleFamilies のなかから "PageStyles" スタイルファミリーを取得しています。 spreadsheet ドキュメントでは "CellStyles" と "PageStyles" の二つがあります。"3" の行では "Default" のスタイル名を持つスタイルオブジェクトを取得しています。

変更 Edit

ただページの設定を変更するだけで新しいページスタイルを作成しなければ簡単です。

"Default" のページスタイルオブジェクトのプロパティーを変更するだけでページ設定が変更されます。この "Default" ページスタイルは割り当てているページスタイルを変更していなければ標準のページスタイルです。

"Default" のスタイルは,言語が日本語になっていると "標準" と表示されているものです。

Sub pagestyle_3
Dim oStyleFamilies As Object, oPageStyles As Object
Dim oPageStyle As Object
Dim oDoc As Object, oSheet As Object

  oDoc = ThisComponent
  oSheet = oDoc.getSheets().getByIndex( 0 )
  oStyleFamilies = oDoc.getStyleFamilies()
  oPageStyles = oStyleFamilies.getByName( "PageStyles" )
  If oPageStyles.hasByName( "Default" ) Then
    oPageStyle = oPageStyles.getByName( "Default" )
    With oPageStyle
      'MsgBox oPageStyle.DisplayName
      .BackColor = "&HDDEEFF"
      .HeaderOn = false
      .FooterOn = false
      .PrintCharts = true
    End With
  End If
End Sub

背景色を変更したり,ヘッダとフッタを印刷しない設定にしています。 ページスタイルの設定項目は多すぎてとても紹介しきれません。ページスタイルのプロパティーをみてください。

用紙サイズと余白 Edit

ページの用紙サイズ設定と余白設定を行ってみます。

用紙サイズ設定
SbxLONG Width用紙幅
SbxLONG Height用紙高さ
余白設定
SbxLONG LeftMarginページの左余白
SbxLONG RightMarginページの右余白
SbxLONG TopMarginページの上余白
SbxLONG BottomMarginページの下余白

上記の表のプロパティーはすべて 1/100 mm 単位で設定します。

その他のプロパティ Edit

そのほかのページスタイルのプロパティ一覧は ./Properties 参照。

下記はページスタイル編集ダイアログのタブごとに分類したもの。

管理 Edit

プロパティ説明
DisplayNamestringスタイルの表示名
Namestringスタイル名
ParentStylestring親スタイル名

ページ Edit

プロパティ説明
Size.awt.Sizeページのサイズ
Widthlong用紙幅
Heightlong用紙高さ
IsLandscapeboolean用紙方向が横向きかどうか
LeftMarginlongページの左余白
RightMarginlong右余白
TopMarginlongページの上余白
BottomMarginlongページの下余白
PrinterPaperTraystring印刷用紙トレイ指定
PageStyleLayout.style.PageStyleLayoutページレイアウト
NumberingTypeshortページ番号付けの種類
CenterHorizontallyboolean左右中央よせ
CenterVerticallyboolean上下中央よせ
WritingModeshort文字方向
UserDefinedAttributes.container.XNameContainerユーザー指定の属性

外枠 Edit

プロパティ説明
BorderDistancelong枠線の間隔
LeftBorder.table.BorderLine左枠線
LeftBorderDistancelong左枠線間隔
RightBorder.table.BorderLine右枠線
RightBorderDistancelong右枠線の間隔
TopBorder.table.BorderLine上枠線
TopBorderDistancelong上枠線間隔
BottomBorder.table.BorderLine下側の外枠
BottomBorderDistancelong下側の外枠線の間隔
ShadowFormat.table.ShadowFormat影のフォーマット

背景 Edit

プロパティ説明
BackColorlong背景色
BackGraphicFilterstring背景画像のフィルター名
BackGraphicLocation.style.GraphicLocation背景画像の位置
BackGraphicURLstring背景ファイルの URL
BackTransparentboolean背景色が透明かどうか
BackgroundColorlong背景色
IsBackgroundTransparentboolean背景色を透過させる

ヘッダー Edit

プロパティ説明
HeaderBackColorlongヘッダの背景色
HeaderBackGraphicFilterstringヘッダの背景画像フィルター名
HeaderBackGraphicLocation.style.GraphicLocationヘッダの背景画像配置
HeaderBackGraphicURLstringヘッダの背景画像 URL
HeaderBackTransparentbooleanヘッダの背景色が透明かどうか
HeaderBackgroundColorlongヘッダの背景色
HeaderBodyDistancelongヘッダの配置間隔
HeaderBorderDistancelongヘッダの下枠線
HeaderBottomBorder.table.BorderLineヘッダの下枠線
HeaderBottomBorderDistancelongヘッダ外枠の間隔
HeaderDynamicbooleanヘッダの間隔を自動調整するかどうか
HeaderHeightlongヘッダの高さ
HeaderIsDynamicHeightbooleanヘッダの高さを自動調節するかどうか
HeaderIsOnbooleanヘッダを付けるかどうか
HeaderIsSharedbooleanヘッダを左右同じ内容にするかどうか
HeaderLeftBorder.table.BorderLineヘッダの左枠線
HeaderLeftBorderDistancelongヘッダの左枠線間隔
HeaderLeftMarginlongヘッダの左余白
HeaderOnbooleanヘッダを付けるかどうか
HeaderRightBorder.table.BorderLineヘッダの右枠線
HeaderRightBorderDistancelongヘッダの右枠線間隔
HeaderRightMarginlongヘッダの右余白
HeaderShadowFormat.table.ShadowFormatヘッダの影
HeaderSharedbooleanヘッダを左右同じ内容にするかどうか
HeaderTopBorder.table.BorderLineヘッダの上枠線
HeaderTopBorderDistancelongヘッダの上枠線間隔
LeftPageHeaderContent.sheet.XHeaderFooterContentヘッダ左側の内容
RightPageHeaderContent.sheet.XHeaderFooterContentヘッダ右側の内容
TransparentHeaderBackgroundbooleanヘッダの背景を透過する

フッター Edit

プロパティ説明
FooterBackColorlongフッタの背景色
FooterBackGraphicFilterstringフッタの背景画像フィルター名
FooterBackGraphicLocation.style.GraphicLocationフッタの背景画像配置
FooterBackGraphicURLstringフッタの背景画像 URL
FooterBackTransparentbooleanフッタの背景色が透明かどうか
FooterBackgroundColorlongフッタの背景色
FooterBodyDistancelongフッタの配置間隔
FooterBorderDistancelongフッタ外枠の間隔
FooterBottomBorder.table.BorderLineフッタの下枠線
FooterBottomBorderDistancelongフッタの下枠線の間隔
FooterDynamicbooleanフッタの高さ
FooterHeightlongフッタの高さを自動調節するかどうか
FooterIsDynamicHeightbooleanフッタを付けるかどうか
FooterIsOnbooleanフッタを左右同じ内容にするかどうか
FooterIsSharedbooleanフッタを左右同じ内容にするかどうか
FooterLeftBorder.table.BorderLineフッタの左枠線
FooterLeftBorderDistancelongフッタの左枠線間隔
FooterLeftMarginlongフッタの左余白
FooterOnbooleanフッタを付けるかどうか
FooterRightBorder.table.BorderLineフッタの右枠線
FooterRightBorderDistancelongフッタの右枠線間隔
FooterRightMarginlongフッタの右余白
FooterShadowFormat.table.ShadowFormatフッタの影
FooterSharedbooleanフッタを左右同じ内容にするかどうか
FooterTopBorder.table.BorderLineフッタの上枠線
FooterTopBorderDistancelongフッタの上枠線間隔
LeftPageFooterContent.sheet.XHeaderFooterContentフッタ左側の内容
RightPageFooterContent.sheet.XHeaderFooterContentフッタ右側の内容
TransparentFooterBackgroundbooleanフッタの背景を透過する

シート Edit

プロパティ説明
PrintDownFirstboolean下方向に印刷する
FirstPageNumbershort最初のページ番号
PrintAnnotationsbooleanコメントを印刷する
PrintChartsbooleanグラフを印刷する
PrintDrawingboolean図形描写を印刷する
PrintFormulasboolean数式を印刷する
PrintGridbooleanグリッド線を印刷する
PrintHeadersbooleanヘッダを印刷する
PrintObjectsboolean画像を印刷する
PrintZeroValuesbooleanゼロ値を印刷する
ScaleToPagesshortページ数に合わせて縮小印刷
ScaleToPagesXshort横方向のページ数指定
ScaleToPagesYshort縦方向のページ数指定
PageScaleshort倍率

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes