ワークシートの印刷プレビューを表示したい場合は PrintPreview メソッドを使用します。複数のシートを選択状態にした後、PrintPreview メソッドを使用することで複数シートの印刷プレビューを表示することもできます。
PrintPreview メソッドではプレビュー表示のページ指定はできません。この場合は PrintOut メソッド のページ指定オプションとプレビューオプションを使用することで、ページ指定した印刷プレビューを表示することができます。
PrintPreviewメソッドの使用方法
引数名 | 省略 | 定数/データ型 | 説明 |
---|---|---|---|
EnableChanges | ○ | ブール型(Boolean) | 余白など、印刷プレビューで設定可能なページ設定オプションをユーザーが変更すること可能にする場合は True を設定します。(既定値) |
PrintPreviewメソッドの使用例
印刷ヘッダー、用紙サイズ指定
印刷ヘッダーや、用紙サイズなどの設定してからプレビュー表示する例です。
Sub sample_eb07e_01()
With Worksheets("2016年度")
'印刷ヘッダー設定(太字、18pt、シート名表示)
.PageSetup.CenterHeader = "&B&18&A 売上一覧表"
'日付表示
.PageSetup.RightHeader = "印刷日 : &D"
'用紙サイズ、方向
.PageSetup.PaperSize = xlPaperA4
.PageSetup.Orientation = xlPortrait
'印刷プレビュー表示
.PrintPreview
End With
End Sub
ワークシート”2016年度”には売上一覧表があります。
マクロを実行すると売上一覧表のプレビューが表示されました。
参考 – 引数に False を指定した場合
PrintPreview メソッドの引数に False を指定すると、印刷プレビューリボンからページ設定ができなくなります。ユーザーに印刷設定を勝手に変更されたくない場合はこうするとよいでしょう。
全シートの印刷プレビューを表示
ブック内全シートの印刷プレビューを表示する例です。
Sub sample_eb07e_02()
'ブック内全シートの印刷プレビュー表示
Worksheets.PrintPreview
End Sub
複数シートの印刷プレビューを表示
複数シートの印刷プレビューを表示する例です。印刷対象シート名を配列に格納し、Selectメソッドで選択してから、プレビュー表示します。
Sub sample_eb07e_03()
Dim varSheets As Variant
'印刷プレビューで表示したいシート名の配列
varSheets = Array("2014年度", "2016年度")
'シート選択
Worksheets(varSheets).Select
'選択シートのプレビューを表示
ActiveWindow.SelectedSheets.PrintPreview
End Sub