用紙のヘッダー・フッターに情報を印刷
<< エクセルVBAで印刷する用紙のサイズを設定する :前の記事
こちらでは、Sheetオブジェクトに含まれるPageSetupオブジェクトのLeftHeaderプロパティなどを利用して、用紙のヘッダー・フッターに情報を印刷する方法について解説しています。
プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。
オブジェクト名.プロパティ名
また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。
オブジェクト名.プロパティ名 = 設定値
目次
はじめに
こちらでは、LeftHeaderプロパティやLeftFooterプロパティを利用して用紙のヘッダー・フッターに情報を印刷する方法について解説します。
利用するプロパティについて
今回利用するプロパティは以下になります。- LeftHeaderプロパティ
- CenterHeaderプロパティ
- RightHeaderプロパティ
- LeftFooterプロパティ
- CenterFooterプロパティ
- RightFooterプロパティ
LeftHeaderプロパティとは
PageSetupオブジェクトのLeftHeaderプロパティは左側に配置するヘッダーを設定します。
Sheets(インデックス番号).PageSetup.LeftHeader = 設定値
CenterHeaderプロパティとは
PageSetupオブジェクトのCenterHeaderプロパティは中央に配置するヘッダーを設定します。
Sheets(インデックス番号).PageSetup.CenterHeader = 設定値
RightHeaderプロパティとは
PageSetupオブジェクトのRightHeaderプロパティは右側に配置するヘッダーを設定します。
Sheets(インデックス番号).PageSetup.RightHeader = 設定値
LeftFooterプロパティとは
PageSetupオブジェクトのLeftFooterプロパティは左側に配置するフッターを設定します。
Sheets(インデックス番号).PageSetup.LeftFooter = 設定値
CenterFooterプロパティとは
PageSetupオブジェクトのCenterFooterプロパティは中央に配置するフッターを設定します。
Sheets(インデックス番号).PageSetup.CenterFooter = 設定値
RightFooterプロパティとは
PageSetupオブジェクトのRightFooterプロパティは右側に配置するフッターを設定します。
Sheets(インデックス番号).PageSetup.RightFooter = 設定値
用紙のヘッダー・フッターに情報を印刷するサンプルコード
今回のVBAコードは用紙のヘッダー・フッターに情報を印刷するマクロになります。
Sub sample()
With Sheets("Sheet1").PageSetup
.LeftHeader = "&F"
.CenterHeader = "&A"
.RightHeader = "&D"
.LeftFooter = "&T"
.CenterFooter = "&P"
.RightFooter = "&N"
End With
End Sub
実行結果
解説
sampleプロシージャのSubステートメントに引数は設定されていません。まず、Withステートメントのオブジェクト名に「Sheets("Sheet1").PageSetup」を設定しました。これによりオブジェクト名を省略して記述できるようになりました。また、「Sheet1」シートオブジェクトに含まれるPageSetupオブジェクトをを設定することで、ページ設定属性(左余白、下余白、用紙サイズなど)のプロパティを利用できます。今回は用紙のヘッダー・フッターに情報を印刷するLeftHeaderプロパティやLeftFooterプロパティなどに「書式コード」が設定されていますので、処理を実行すると「Sheet1」シートの印刷する用紙のヘッダー・フッターに書式コードで設定した情報が印刷されます。最後はEndステートメントを利用してsampleプロシージャを終了させます。
尚、PaperSizeプロパティの書式コードは以下になります。
書式コード | 内容 |
---|---|
&L | このコードに続く文字列を左詰めに配置します。 |
&C | このコードに続く文字列を中央揃えに配置します。 |
&R | このコードに続く文字列を右詰めに配置します。 |
&E | 文字列を二重下線付きで印刷します。 |
&X | 上付き文字を印刷します。 |
&Y | 下付き文字を印刷します。 |
&B | 文字列を太字で印刷します。 |
&I | 文字列を斜体で印刷します。 |
&U | 文字列を下線付きで印刷します。 |
&S | 文字列を取り消し線付きで印刷します。 |
&D | 現在の日付を印刷します。 |
&T | 現在の時刻を印刷します。 |
&F | ファイルの名前を印刷します。 |
&A | シート見出し名を印刷します。 |
&P | ページ番号を印刷します。 |
&P+<数値> | ページ番号に指定した <数値> を加えた値を印刷します。 |
&P-<数値> | ページ番号から指定した <数値> を引いた値を印刷します。 |
&& | アンパサンド (&) を 1 つ印刷します。 |
& "<フォント名>" | 指定したフォントで文字を印刷します。フォント名は、必ず半角の二重引用符 (") で囲んでください。 |
&nn | 指定したフォント サイズで文字を印刷します。nn には、ポイント数を表す 2 桁の数値を指定します。 |
&N | ファイルのすべてのページ数を印刷します。 |
それぞれのプロパティの設定値は「"(ダブルクォーテーション)」の文字列で設定しますが、書式コードを複数組み合わせて設定することもできます。
以下の事例ではCenterFooterプロパティに「&P / &N」を設定しています。こちらは「ページ番号 / すべてのページ数」になりますので、総ページ数5ページの2ページを印刷する場合は、「2 / 5」が印刷されます。
Sub sample()
Sheets("Sheet1").PageSetup.CenterFooter = "&P / &N"
End Sub
まとめ
今回は、Sheetオブジェクトに含まれるPageSetupオブジェクトのPaperSizeプロパティを利用して、用紙のヘッダー・フッターに情報を印刷する方法について解説しました。次回は、エクセルVBAでExcelの印刷範囲を設定する方法について解説します。
エクセルVBAの印刷設定一覧
次の記事: エクセルVBAでExcelの印刷範囲を設定する >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。