【Excel VBA】印刷を実行する(PrintOut)

はじめに

今回は、Excelの印刷について解説します。
印刷時のオプションや注意点などを細かく解説していますので、ぜひ最後までお付き合いください!

この記事を読むメリット
  • 印刷を実行する方法が分かります。
  • 基礎構文や、印刷時のオプション(ページや部数指定など)を詳しく解説します。
  • コピペで使える実践的なサンプルコードを掲載しています。

基本情報

PrintOutメソッド

印刷を実行するには、PrintOutメソッドを使用します。

PrintOutメソッドは、以下オブジェクトにて使用可能です。

  • Windowオブジェクト
  • Workbookオブジェクト
  • Chartオブジェクト
  • Worksheetオブジェクト
  • Rangeオブジェクト

構文

構文

オブジェクト.PrintOut(引数)

引数

#引数必須/任意説明省略した場合
1From任意印刷の開始ページ番号最初のページ番号
2To任意印刷の終了ページ番号最後のページ番号
3Copies任意印刷部数1部
4Preview任意印刷プレビューの表示するか
(True:表示 / False:非表示)
False
5ActivePrinter任意使用するプリンタの名前アクティブプリンタ
6Collate任意部単位で印刷するか
(True:部単位で印刷 / False:部単位で印刷しない)
False
PrintOut – 引数

ActivePrinterでプリンタの名前を指定して印刷することは可能ですが、推奨していません。
理由として、必然的にマクロに固定値として指定することになるため、利用者によって環境が異なる場合や、プリンタの故障やメンテナンスにより、プリンタが使用できない場合がある為です。

りゅう

プリンタを選択したい場合は、印刷プレビューを表示してから選択するのが良いでしょう。

サンプルコード

指定のシートを印刷する

Sheet1を 全ページ、1部印刷します。

サンプルコード
Public Sub execPrintOut()

    ' Sheet1を印刷する
    Worksheets("Sheet1").PrintOut
End Sub

指定のページのみ印刷する

[Sheet1]シートの、指定のページ(2ページ ~ 3ページ)、1部を印刷しています。
印刷前に、印刷プレビューを表示しています。

サンプルコード
Public Sub execPrintOut()

    ' Sheet1の 2ページ ~ 3ページを印刷する
    ' ※印刷プレビューを併せて表示する
    Worksheets("Sheet1").PrintOut From:=2, To:=3, Preview:=True
End Sub
りゅう

基本的には、印刷プレビューを表示させるのをオススメします。
印刷後、レイアウトに崩れがあった場合に、紙やトナーが無駄になる為です。

ブック内の全シートを 2部印刷する

アクティブなブック内の全シート、全ページを 2部印刷します。

サンプルコード
Public Sub execPrintOut()

    ' アクティブなブックの全シートを 2部印刷する
    ActiveWorkbook.PrintOut Copies:=2
End Sub
めい

WorkbookオブジェクトやWorksheetオブジェクトなど、印刷対象によって使い分けましょう。

最後に

今回は、印刷を実行する方法について解説しました。

本記事が皆さんのお力になれば幸いです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大手外資系コンサルティングファーム勤務。ExcelVBA歴は8年。金融関係のプロジェクトにて約100万レコードを処理するマクロの開発実績あり。ExcelVBAの基礎・応用情報を発信中。

コメント

コメントする

CAPTCHA