シートにページ設定を行う(PageSetupオブジェクト)|Excel VBA |
ワークシートやグラフシートの印刷時のページ設定を行うには、PageSetupオブジェクトを使用します。PageSetupオブジェクトには、左余白、下余白、用紙サイズなどの、すべてのページ設定属性がプロパティとして含まれています。
構文 Object.PageSetup 取得のみ
設定項目 | 内容 |
---|---|
Object | Worksheet、Chartオブジェクト [省略不可] |
次のサンプルは、アクティブブックのすべてのシートについて中央ヘッダーにシート名を設定し、左フッターにセルA1の値を設定します。
PageSetupオブジェクトはWorksheetオブジェクト、Chartオブジェクトの下位オブジェクトです。WorksheetsコレクションやChartsコレクションを使用して、複数シートのページ設定を一度に行うことはできません。次のサンプルのように1シートずつ設定してください。
Sub Sample()
Dim ws As Worksheet
For Each ws In Worksheets
With ws.PageSetup
.CenterHeader = ws.Name
.LeftFooter = ws.Range("A1").Value
End With
Next ws
End Sub
サンプル1は、マクロ実行時のシート名やセルA1の値をヘッダーやフッターに設定します。
マクロ実行後にシート名を変更した場合、その変更は反映されません。
[ページ設定]ダイアログボックスから「シート名」を指定したときのように、印刷時のシート名をヘッダーやフッターに設定するには、書式コード「&A」を使用します。
書式コードを使ってヘッダーやフッターを指定する方法については、「ヘッダー/フッターを設定する」を参照してください。
ただし、セルの値をヘッダーやフッターに設定する書式コードはありません。
セルの値を設定するには、サンプル1のようにマクロ実行時の値を設定するか、行タイトルを表すPrintTitleRowsプロパティや列タイトルを表すPrintTitleColumnプロパティを使用して、行や列を指定します。