Categories: VBA基礎

EXCEL VBA PrintOut (印刷・印刷プレビュー・印刷範囲・複数シート)

EXCEL VBA PrintOut (印刷・印刷プレビュー・印刷範囲・複数シート)

 

●はじめに
EXCELで作成した表やVBAで作成したプログラム処理の実行結果の印刷する時など、印刷する機会は様々ありますが、実際にVBAで印刷する場合、シートの印刷・印刷範囲の選択・複数シートに跨った印刷方法など、指定する事により詳細に印刷する事が出来ます。手作業で印刷するよりもVBAプログラムを作成する事により、効率よく印刷する事ができます。それでは、VBAでの印刷方法を順番に説明いたします。

 

●書式の説明

オブジェクト.PrintOut(From, To, Copies, Preview, Printer, ToFile, Collate, ToFileName)

(クリックで拡大)

 

項目説明
Form印刷を開始するページの指定です。省略可能(1ページから)
To印刷を終了するページの指定です。省略可能(最終ページまで)
Copies印刷部数の設定です。省略可能(1部)
Preview印刷プレビューの実行
Printerプリンターの指定(省略可能:既定プリンター)
PrintTofileファイルに出力
Collate部単位での印刷
PrToFileNameファイルに出力する際のファイル名の指定(省略可能)

 

●プログラム説明① ※Sheet1の出力・範囲指定なし
それでは、実際にVBAプログラムで印刷する場合の説明をいたします。最初にシート①の印刷を行う場合です。

 

Sub PrintOut01()
  
    Worksheets("Sheet1").PrintOut  'Sheet1の出力:指定なし印刷
 
End Sub

 

●プログラム説明② ※Sheet1の出力・ページ範囲の指定
次に、印刷するシート①の印刷ページを指定する場合です。

 

Sub PrintOut02()

    Worksheets("Sheet1").PrintOut from:=1, to:=5  'ページ範囲指定1~5ページ

End Sub

 

●プログラム説明③ ※Sheet1を複数枚・印刷指定
次に、最初にシート①を複数枚印刷を行う場合です。

 

Sub PrintOut03()

    Worksheets("Sheet1").PrintOut copies:=5 '印刷指定枚数5ページ

End Sub

 

●プログラム説明④ ※Sheet1を印刷プレビュー
次に、最初にシート①を印刷プレビュー表示する場合です。

 

Sub PrintOut04()

    Worksheets("Sheet1").PrintOut preview:=True '印刷プレビュー表示

End Sub

 

●プログラム説明⑤ ※Sheet1・Sheet2の出力・複数シートの出力
次に、シート①・②など複数シートを出力する場合です。

 

Sub PrintOut05()

    Sheets(Array("Sheet1", "Sheet2")).PrintOut '複数シート印刷

End Sub

 

最後まで、ご覧いただきまして誠に有難うございました。
以上が、PrintOut(印刷)の説明でした。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。

 

AKIRA