VBA開発

印刷を行う【PrintOut メソッド】

構文

object.PrintOut ( [ From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas ] )

定数

引数説明引数を省略した場合
object対象となるオブジェクトを指定
・Windowオブジェクト
・Workbook オブジェクト
・Worksheet オブジェクト
・Range オブジェクト
省略不可
From印刷開始ページを指定最初のページから印刷
To印刷終了ページを指定最後のページまで印刷
Copies印刷部数を指定1部で印刷
PreviewTRUE→印刷プレビュー直ちに印刷
FALSE→直ちに印刷
ActivePrinterプリンターを指定アクティブなプリンタで印刷
PrintToFileTRUE→ファイルへ出力ファイルへ出力しない
FALSE→ファイルへ出力しない
CollateTRUE→部単位で印刷部単位で印刷
FALSE→ページ単位で印刷
PrToFileName出力するファイル名を指定(PrintToFileがTrueのみ)ファイル名を求めるメッセージを表示
IgnorePrintAreasTRUE→印刷範囲を無視して印刷印刷範囲を無視せず印刷
FALSE→印刷範囲を無視せず印刷

コードサンプル

Public Sub sample_PrintOut()

    '■ActiveSheetを印刷
    ActiveSheet.PrintOut
    
    '■指定範囲をプリンター(CANON Printer)で印刷
    Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets(Sheet1)
    ws.Range("A1:D50").PrintOut ActivePrinter:="CANON Printer"
    
    '■指定シートを3部、ページ単位で印刷
    ws.PrintOut copies:=3, collate:=False
    
    '■ActiveSheetの1ページ目から2ページ目を、prn形式のファイルで出力する
    ActiveSheet.PrintOut from:=1, to:=2, PrintToFile:=True
    
    '■ブック全体(シート全て)を印刷プレビュー表示
    ActiveWorkbook.PrintOut Preview:=True
 
End Sub

注意

・非表示シートを印刷(PrintOut)するとエラーが表示されます。再表示して印刷しましょう。

 

 

コメント

タイトルとURLをコピーしました