用紙のヘッダー・フッターに情報を印刷

<< エクセルVBAで印刷する用紙のサイズを設定する :前の記事

こちらでは、Sheetオブジェクトに含まれるPageSetupオブジェクトLeftHeaderプロパティなどを利用して、用紙のヘッダー・フッターに情報を印刷する方法について解説しています。

プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。

オブジェクト名.プロパティ名

また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。

オブジェクト名.プロパティ名 = 設定値

目次

はじめに

こちらでは、LeftHeaderプロパティLeftFooterプロパティを利用して用紙のヘッダー・フッターに情報を印刷する方法について解説します。

利用するプロパティについて

今回利用するプロパティは以下になります。

LeftHeaderプロパティとは

PageSetupオブジェクトのLeftHeaderプロパティ左側に配置するヘッダーを設定します。

Sheets("シート名").PageSetup.LeftHeader = 設定値
Sheets(インデックス番号).PageSetup.LeftHeader = 設定値

CenterHeaderプロパティとは

PageSetupオブジェクトのCenterHeaderプロパティ中央に配置するヘッダーを設定します。

Sheets("シート名").PageSetup.CenterHeader = 設定値
Sheets(インデックス番号).PageSetup.CenterHeader = 設定値

RightHeaderプロパティとは

PageSetupオブジェクトのRightHeaderプロパティ右側に配置するヘッダーを設定します。

Sheets("シート名").PageSetup.RightHeader = 設定値
Sheets(インデックス番号).PageSetup.RightHeader = 設定値

LeftFooterプロパティとは

PageSetupオブジェクトのLeftFooterプロパティ左側に配置するフッターを設定します。

Sheets("シート名").PageSetup.LeftFooter = 設定値
Sheets(インデックス番号).PageSetup.LeftFooter = 設定値

CenterFooterプロパティとは

PageSetupオブジェクトのCenterFooterプロパティ中央に配置するフッターを設定します。

Sheets("シート名").PageSetup.CenterFooter = 設定値
Sheets(インデックス番号).PageSetup.CenterFooter = 設定値

RightFooterプロパティとは

PageSetupオブジェクトのRightFooterプロパティ右側に配置するフッターを設定します。

Sheets("シート名").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の印刷範囲を設定する >>

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。

VBAのIE操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。

目次

VBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。