Excel VBA でワークシートやブックを印刷する方法 | VBA 印刷の使い方

Excel VBA を使用してワークシートやブックを印刷する方法について説明します。この記事では、VBA 印刷 の基本的な使い方を紹介し、ワークシートやブックを印刷するための PrintOut メソッド の使用方法を解説します。また、印刷設定をカスタマイズするための PageSetup オブジェクト の使用方法も説明します。
この記事を読むことで、Excel VBA を使用してワークシートやブックを印刷する方法を理解し、自らの VBA マクロ で印刷機能を実装することができるようになります。
Excel VBA では、ワークシートやブックを印刷するために PrintOut メソッド を使用します。このメソッドは、ワークシートやブックを印刷するための基本的な機能を提供します。また、印刷設定をカスタマイズするために PageSetup オブジェクト を使用することもできます。
Excel VBA でワークシートを印刷する方法
Excel VBA を使用してワークシートを印刷するには、ActiveSheet.PrintOut または Worksheets(シート名).PrintOut を使用します。たとえば、現在アクティブなワークシートを印刷するには、ActiveSheet.PrintOut
を使用します。特定のワークシートを印刷するには、Worksheets(シート名).PrintOut
を使用します。ここで、シート名は印刷したいワークシートの名前です。
複数のワークシートを印刷するには、Worksheets(Array(シート名1, シート名2)).PrintOut を使用します。たとえば、シート1とシート2を印刷するには、Worksheets(Array("シート1", "シート2")).PrintOut
を使用します。
ワークシートを印刷するときに、印刷設定をカスタマイズすることができます。たとえば、PageSetup オブジェクトを使用して、印刷の向きや用紙サイズを設定できます。また、Range オブジェクトと PrintOut メソッドを使用して、印刷範囲を指定することもできます。
複数のワークシートを印刷する方法
複数のワークシートを印刷するには、Worksheets オブジェクトの PrintOut メソッドを使用します。具体的には、Worksheets(Array(シート名1, シート名2)).PrintOut
の形式で記述します。ここで、シート名1、シート名2 には、印刷したいワークシートの名前を指定します。
たとえば、"Sheet1" と "Sheet2" という名前のワークシートを印刷したい場合、次のように記述します。
vb
Worksheets(Array("Sheet1", "Sheet2")).PrintOut
このコードを実行すると、指定したワークシートが印刷されます。複数のワークシートを印刷する場合、Worksheets オブジェクトの Array メソッドを使用して、印刷したいワークシートの名前を指定する必要があります。
また、PrintOut メソッドには、オプションの引数として Preview があるため、印刷のプレビューを表示することもできます。次のように記述します。
vb
Worksheets(Array("Sheet1", "Sheet2")).PrintOut Preview:=True
このコードを実行すると、印刷のプレビューが表示されます。
ワークブック全体を印刷する方法
ワークブック全体を印刷するには、ActiveWorkbook.PrintOut メソッドを使用します。このメソッドは、現在アクティブなワークブックを印刷します。ワークブック全体を印刷するには、次のコードを使用します。
vb
Sub ワークブック全体を印刷する()
ActiveWorkbook.PrintOut
End Sub
このコードを実行すると、現在アクティブなワークブック全体が印刷されます。印刷設定をカスタマイズするには、PageSetup オブジェクトを使用します。たとえば、印刷の向きを横方向に変更するには、次のコードを使用します。
vb
Sub ワークブック全体を印刷する(印刷設定をカスタマイズ)
With ActiveWorkbook
.PageSetup.Orientation = xlLandscape
.PrintOut
End With
End Sub
このコードを実行すると、現在アクティブなワークブック全体が横方向に印刷されます。
印刷設定をカスタマイズする方法
印刷設定をカスタマイズするには、PageSetup オブジェクトを使用します。PageSetup オブジェクトは、ワークシートの印刷設定を制御するためのプロパティとメソッドを提供します。たとえば、Orientation プロパティを使用して印刷の向きを設定したり、PaperSize プロパティを使用して用紙のサイズを設定したりできます。
また、Margins プロパティを使用して余白の設定を変更したり、HeaderMargin プロパティや FooterMargin プロパティを使用してヘッダーとフッターの余白を設定したりできます。さらに、PrintQuality プロパティを使用して印刷の品質を設定したり、PrintDraft プロパティを使用して下書きモードで印刷するかどうかを設定したりできます。
これらのプロパティを変更することで、ワークシートの印刷設定をカスタマイズし、必要な印刷結果を得ることができます。たとえば、次のコードはワークシートの印刷設定をカスタマイズする例です。
vb
Sub カスタマイズ印刷設定()
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.Margins.Top = 20
.Margins.Bottom = 20
.PrintQuality = 600
End With
End Sub
印刷範囲を指定する方法
印刷範囲を指定するには、Range オブジェクトと PrintOut メソッドを使用します。たとえば、A1 から E10 までの範囲を印刷するには、次のコードを使用します。
Range("A1:E10").PrintOut
また、Selection オブジェクトを使用して、選択されている範囲を印刷することもできます。
Selection.PrintOut
印刷範囲を指定するときには、Range オブジェクトの PrintOut メソッドを使用するのが最も簡単です。ただし、印刷範囲をカスタマイズするには、PageSetup オブジェクトを使用する必要があります。
たとえば、印刷範囲のヘッダーとフッターを指定するには、PageSetup オブジェクトの HeaderMargin と FooterMargin プロパティを使用します。
印刷設定を変更する方法
印刷設定を変更するには、PageSetup オブジェクトのプロパティを変更します。たとえば、印刷の向きを変更するには、PageSetup.Orientation プロパティを使用します。印刷の向きを横方向に変更するには、ActiveSheet.PageSetup.Orientation = xlLandscape
とします。印刷の向きを縦方向に変更するには、ActiveSheet.PageSetup.Orientation = xlPortrait
とします。
また、印刷の余白を変更するには、PageSetup オブジェクトの LeftMargin、RightMargin、TopMargin、BottomMargin プロパティを使用します。たとえば、印刷の左余白を 2 cm に変更するには、ActiveSheet.PageSetup.LeftMargin = Application.CentimetersToPoints(2)
とします。
印刷のヘッダーとフッターを変更するには、PageSetup オブジェクトの LeftHeader、CenterHeader、RightHeader、LeftFooter、CenterFooter、RightFooter プロパティを使用します。たとえば、印刷のヘッダーに「会社名」を表示するには、ActiveSheet.PageSetup.CenterHeader = "会社名"
とします。
まとめ
Excel VBA を使用してワークシートやブックを印刷する方法について説明します。ワークシートを印刷するには、ActiveSheet.PrintOut または Worksheets(シート名).PrintOut を使用します。たとえば、現在アクティブなワークシートを印刷するには、ActiveSheet.PrintOut
を使用します。特定のワークシートを印刷するには、Worksheets(シート名).PrintOut
を使用します。
複数のワークシートを印刷するには、Worksheets(Array(シート名1, シート名2)).PrintOut を使用します。たとえば、シート1とシート2を印刷するには、Worksheets(Array("シート1", "シート2")).PrintOut
を使用します。ワークブック全体を印刷するには、ActiveWorkbook.PrintOut を使用します。
印刷設定をカスタマイズするには、PageSetup オブジェクトを使用します。たとえば、印刷の向きを変更するには、ActiveSheet.PageSetup.Orientation
プロパティを使用します。印刷範囲を指定するには、Range オブジェクトと PrintOut メソッドを使用します。たとえば、A1からB2までの範囲を印刷するには、Range("A1:B2").PrintOut
を使用します。
印刷設定を変更するには、PageSetup オブジェクトのプロパティを変更します。たとえば、印刷の余白を変更するには、ActiveSheet.PageSetup.LeftMargin
プロパティを使用します。これらの方法を使用することで、Excel VBA でワークシートやブックを印刷することができます。
まとめ
この記事では、Excel VBA を使用してワークシートやブックを印刷する方法について説明しました。ワークシートを印刷するには、ActiveSheet.PrintOut または Worksheets(シート名).PrintOut を使用します。複数のワークシートを印刷するには、Worksheets(Array(シート名1, シート名2)).PrintOut を使用します。ワークブック全体を印刷するには、ActiveWorkbook.PrintOut を使用します。印刷設定をカスタマイズするには、PageSetup オブジェクトを使用します。
よくある質問
Excel VBA でワークシートを印刷する方法は何ですか?
Excel VBA でワークシートを印刷するには、Worksheets オブジェクトの PrintOut メソッドを使用します。このメソッドでは、印刷するワークシートを指定し、印刷設定を指定できます。たとえば、Worksheets("Sheet1").PrintOut
とすると、Sheet1 ワークシートが印刷されます。また、Worksheets.PrintOut
とすると、アクティブなワークシートが印刷されます。印刷設定を指定するには、PrintOut メソッドの引数を使用します。たとえば、Worksheets("Sheet1").PrintOut Preview:=True
とすると、印刷プレビューが表示されます。
Excel VBA でブックを印刷する方法は何ですか?
Excel VBA でブックを印刷するには、Workbook オブジェクトの PrintOut メソッドを使用します。このメソッドでは、印刷するブックを指定し、印刷設定を指定できます。たとえば、ThisWorkbook.PrintOut
とすると、アクティブなブックが印刷されます。また、Workbooks("Book1").PrintOut
とすると、Book1 ブックが印刷されます。印刷設定を指定するには、PrintOut メソッドの引数を使用します。たとえば、ThisWorkbook.PrintOut Preview:=True
とすると、印刷プレビューが表示されます。
Excel VBA で印刷範囲を指定する方法は何ですか?
Excel VBA で印刷範囲を指定するには、Range オブジェクトの PrintOut メソッドを使用します。このメソッドでは、印刷する範囲を指定し、印刷設定を指定できます。たとえば、Range("A1:E10").PrintOut
とすると、A1 から E10 までの範囲が印刷されます。また、Selection.PrintOut
とすると、選択されている範囲が印刷されます。印刷設定を指定するには、PrintOut メソッドの引数を使用します。たとえば、Range("A1:E10").PrintOut Preview:=True
とすると、印刷プレビューが表示されます。
Excel VBA で印刷設定を指定する方法は何ですか?
Excel VBA で印刷設定を指定するには、PrintOut メソッドの引数を使用します。たとえば、Worksheets("Sheet1").PrintOut Preview:=True
とすると、印刷プレビューが表示されます。また、Worksheets("Sheet1").PrintOut Copies:=2
とすると、2 枚のコピーが印刷されます。さらに、Worksheets("Sheet1").PrintOut Collate:=True
とすると、コラート が有効になります。印刷設定を指定するには、PrintOut メソッドの引数を使用して、プレビュー、コピー数、コラート などの印刷設定を指定できます。
コメントを残す
コメントを投稿するにはログインしてください。
関連ブログ記事