だるまです。
複数のシートを一度に印刷 (エクセル上で複数シートを選択した状態で印刷)する場合と、一つのシートごとに印刷する場合とでソースが異なると思います。 (どちらでやりたいのか、わかりませんでした。)
以下は、後者の方について説明します。 (後者の方が簡単だから。)
■1.印刷対象のシート名(String型)よりWorksheetオブジェクトを取得してください。
■2.WorkSheetオブジェクトのPrintOutメソッドを呼び出してください。 (PrintOutメソッドを引数なしで呼び出すと、いきなり印刷が行われます。ソースを書いているときはPreview引数をTrueにしておいた方が良いと思います。)
■ソース例(アクティブブックの"Sheet1"の印刷プレビュー画面を表示します。)
=================== Option Explicit
Sub main() Dim sheetName As String '印刷対象のシート名 Dim ws As Worksheet '印刷対象のワークシートオブジェクト sheetName = "Sheet1" Set ws = ActiveWorkbook.Worksheets(sheetName) Call ws.PrintOut(Preview:=True) '印刷プレビュー画面を表示します End Sub ===================
標準モジュールで動作させてください。 印刷プレビュー画面を表示せず、いきなり印刷するときはPrintOut関数のPreview引数をFalseにするか、省略してください。 PrintOut関数の説明についてはVBAのヘルプを参照願います。
|