Excel印刷でイライラしないためのマクロ基本TipsExcelマクロ/VBAで始める業務自動化プログラミング入門(11)(2/4 ページ)

» 2016年09月15日 05時00分 公開
[薬師寺国安PROJECT KySS]

印刷時に繰り返し出したい「ヘッダー」「フッター」のさまざまな設定

 印刷においてヘッダーやフッターの設定は欠かせない場合が多いだろう。これをVBAで実装できたら大変に便利だとは思わないだろうか。

ヘッダーやフッターの設定に使う、さまざまなプロパティ

 ヘッダーやフッターの設定にはPageSetUpオブジェクトのプロパティ(表1)を使用する。

表1 ヘッダーやフッターに関するプロパティ
プロパティ名 説明
LeftHeader ブックまたはセクション内の左のヘッダーで、文字列の配置を取得または設定
CenterHeader PageSetup オブジェクトでヘッダー情報を中央ぞろえにする
RightHeader 右側に配置されたヘッダーを設定
LeftFooter ブックまたはセクション内の左のフッターで、文字列の配置を取得または設定
CenterFooterPicture フッターの中央のセクションに表示する図を設定
CenterFooter PageSetup オブジェクトでフッター情報を中央ぞろえにする
RightFooter ページの右端とフッターの右端の距離をポイント単位で設定
参考「PageSetup プロパティ (Excel) - MSDN

 では、図2にヘッダーやフッターを設定してみよう。マクロはリスト2のようになる。

  1. Sub 印刷時に1ページに収める()
  2. With Worksheets("社員売上金額").PageSetup
  3. .Orientation = xlPortrait
  4. .Zoom = False
  5. .FitToPagesTall = 1
  6. .FitToPagesWide = 1
  7. .LeftHeader = "売上金額一覧"
  8. .CenterHeader = "&""Meirio UI""&B&18平成27年度年売上表"
  9. .LeftFooter = "&F:&A"
  10. .CenterFooterPicture.Filename = ActiveWorkbook.Path & "\Kyssロゴ.png"
  11. .CenterFooter = "&G"
  12. .RightFooter = "&P/&Nページ"
  13. End With
  14. Worksheets("社員売上金額").PrintPreview
  15. End Sub
リスト2 ヘッダーとフッターの設定(先のリスト1にヘッダーとフッターの設定を追加)

ヘッダーやフッター設定時に使用できる「書式設定コード」

 この中で使用している「&」(アンパサンド)はヘッダーやフッター設定時に必要な記号「書式設定コード」だ。ヘッダーやフッター設定時に使用できる記号には表2のようなものがある。

表2 ヘッダーおよびフッター使用時に利用できる記号
使用できる記号 説明
&E 二重下線文字列
&X 上付き文字
&Y 下付き文字
&B 太字
&I 斜体
&U 下線付き文字
&D 現在の日付
&T 現在の時刻
&F ファイル名
&A シートの見出し名
&P ページ番号
&N 総ページ数
&P+{数値} ページ番号に{数値}を加算した値
&P-{数値} ページ番号から{数値}を引いた値
&“フォント名” 文字のフォント。フォント名は、半角の二重引用符(")でくくる
&nn フォントサイズ。ポイント数を表す2桁の数値をnnに設定
&G 図を挿入する
参考「Xl 2000: 挿入およびヘッダーとフッター内のテキストの書式設定

 以上の記号を参考にコードを見てみよう。

 8行目は「フォント名」に「Meirio UI」を設定し、「太字」で「フォントサイズ」に「18」を設定していることを意味する。

 9行目は「ファイル名」と「シートの見出し名」を「:」で区切って表示している。

 11行目は、この記述の上に、「.CenterFooterPicture.Filename = ActiveWorkbook.Path & "\Kyssロゴ.png"」と記述して、取り込む画像を設定しているので、「画像を挿入する」という意味になる。

 12行目は「ページ番号/総ページ数」という形式でページ番号を表示している。

表を拡大・縮小して印刷するZoomプロパティ

 Zoomプロパティは表を拡大・縮小して印刷する場合に設定する。Falseを設定した場合は拡大・縮小しない。拡大・縮小する場合は、次のように設定する。

.Zoom=150

 すると、表は150%の拡大率で印刷される。Zoomプロパティを設定した場合は、FitToPagesTallやFitToPagesWide プロパティの値は無視されるので、注意してほしい。

実行結果

 実行すると、図3のように表示される。

図3 ヘッダーやフッターが設定され、画像も張り付けられて表示された

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

HTML5�ス�ス�ス�ス�ス�ス�ス�ス鬮ッ蜿・�ケ�「�ス�ス�ス�スX 鬯ッ�ョ�ス�ォ�ス�ス�ス�ェ鬮ッ蛹コ�サ繧托スス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�コ鬮」蛹�スス�オ髫エ竏オ�コ�キ�ス�ク�ス�キ�ス�ス�ス�ケ髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�ウ鬯ゥ蟷「�ス�「�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ュ鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�ウ鬯ゥ蟷「�ス�「�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ー

鬯ョ�ォ�ス�エ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�ャ鬯ョ�ォ�ス�エ鬯イ�ス�シ螟イ�ス�ス�ス�ス�ス�ス�ス�・鬯ョ�ォ�ス�エ髯晢スカ�ス�キ�ス�ス�ス�」�ス�ス�ス�ッ鬮」蜴�スス�ォ�ス�ス�ス�」

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。