印刷プレビューを表示

印刷プレビューを表示する。

VBAで印刷プレビューを表示させるには下記の3つの方法が利用できます。
 ・Application.Dialogs(xlDialogPrintPreview).Showを利用
 ・PrintPreviewメソッドを利用
 ・PrintOutメソッドの引数(Preview)に True 指定して利用

Application.Dialogs(xlDialogPrintPreview).Showは、Application.Dialogsコレクションの引数にXlBuiltInDialog列挙体の定数(xlDialogPrintPreview)を指定してShowメソッドを利用することでプレビューが表示されます。この方法ではアクティブな状態のシートのプレビューが表示されシートの指定などはできません。他の方法だとシートを指定してプレビューが可能です。

PrintPreviewメソッド は引数に EnableChanges(規定値:True) を利用することができ、この引数に False を指定するとプレビュー画面で余白、ページ設定の操作を不可にすることができます。
PrintPreviewメソッド に利用できる引数は EnableChanges のみになります。

PrintOutメソッド は引数の Preview に True 指定するとプレビュー画面で表示されます。
またPrintOutメソッドには部数や印刷ページの指定などを下記の引数で指定することができます。
Preview に False もしくは省略した場合はプレビューが表示されずにそのまま印刷されます。

引数名説明                    省略
第1引数From開始するページの番号を指定
第2引数To終了するページの番号を指定
第3引数Copies印刷部数を指定
第4引数Preview印刷をする前に印刷プレビューを実行、省略した場合はそのまま印刷を実行
第5引数ActivePrinterアクティブなプリンターの名前を指定
第6引数PrintToFileTrue の場合、ファイルへ出力
第7引数CollateTrue の場合、部単位で印刷
第8引数PrToFileNameTrue の場合、この引数は印刷するファイルの名前を指定
第9引数IgnorePrintAreasTrue の場合、印刷範囲を無視してオブジェクト全体を印刷



 ●Application.Dialogs(xlDialogPrintPreview).Show

'*****************************************************************
' プリンターの印刷プレビューを表示
'*****************************************************************
Sub Preview_Dialogs()

    '印刷プレビュー
    Application.Dialogs(xlDialogPrintPreview).Show
    
End Sub

 ●PrintPreviewメソッド(余白、ページ設定不可)

'*****************************************************************
' プリンターの印刷プレビューを表示
'*****************************************************************
Sub Preview_PrintPreview()

    '印刷プレビュー(余白、ページ設定不可)
    Sheets("Sheet1").PrintPreview EnableChanges:=False
    
End Sub

 ●PrintOutメソッド(ページ、部数指定)

'*****************************************************************
' プリンターの印刷プレビューを表示
'*****************************************************************
Sub Preview_PrintOut()

    '印刷プレビュー(ページ、部数指定)
   Sheets("Sheet1").PrintOut Preview:=True, From:=2, To:=3, Copies:=3
    
End Sub