エクセルで作成した内容を印刷する時に、はみ出てしまったり、必要なところが印刷されていなかったりして失敗した経験ありませんか?
印刷ページ設定をVBAであらかじめ指定しておけば、共有パソコンや共有プリンターの環境でも失敗しないで印刷することができます。
ヘッダー・フッターのページ設定
ここでは、ユーザーフォームに配置したコマンドボタンにVBAコードを書き、表示中のシートのページ設定(ActiveSheet)で記載しています。
シートを指定する場合はActiveSheetをWorkSheets(“シート名”)に変えるだけです。
余白を指定する
用紙の上部と下部にタイトルやページ数など特に使用する事が無ければ、設定を「0pt」にして、余計な事柄を記載できないようにすることができます。
ヘッダーやフッターと並べて上下左右も一緒にVBAコードを書けば、全ての余白を同時に設定できますよ。
フッターにページ番号(自動連番)をつける
ページ番号をフッターに印刷すると、ページ番号は「1」から自動的に連番で付与されて印刷します。
一般的にページ番号は用紙の中央に表示されるので、ここでは中央フッターに表示するよう指定しています。
とりっぷぼうる
ページ数以外にも日付・時刻・ファイル名・シート名で表示することができます。
定数 | 表示内容 |
&P | ページ数 |
&D | 現在の日付 |
&T | 現在の時刻 |
&F | ファイル名 |
&A | シート名 |
ヘッダー・フッターの表示位置の設定
ページ数をフッター中央に先ほど表示させましたが、ヘッダーにもフッターにも同じように表示させることができ、中央以外にも左寄せ・右寄せも可能なので、CenterFooterの部分を変更するだけです。
プロパティ | 表示位置 | プロパティ | 表示位置 |
LeftFooter | 左寄せフッター | LeftHeader | 左寄せヘッダー |
CenterFooter | 中央フッター | CenterHeader | 中央ヘッダー |
RightFooter | 右寄せフッター | RightHeader | 右寄せヘッダー |
ページ番号自動付与の応用活用
フッター部分にページ番号を自動付与する機能をちょっと応用して、1ページ目から始めないで10ページ間から開始なんて事もできちゃうのです。
さらに、ページ表示方法を(現在ページ/総ページ数)というようにアレンジもできますので、下記ページに詳細を記載しましたのでご覧くださいませ。
印刷関連VBA