関数・メソッド

印刷前に処理実行する/印刷させない【Workbook_BeforePrint】【ExcelVBA】

構文

Workbook_BeforePrint(CancelAs Boolean)

Cancel ・・・・ True=印刷キャンセル/False=印刷する
ブックを印刷する際に実行されるイベントです。
マクロ側で特定シートを印刷させない等の対応を取ることが可能です。

Workbook_BeforePrintイベントのサンプルコード

標準モジュールではなく、Workbookモジュール(Microsoft_Excel_Objects_ThisWorkbook)に記載します。

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    
    '■シートが顧客名簿の場合、印刷させないサンプルコード
    If ActiveSheet.Name = "顧客名簿" Then
        Cancel = True
    End If

    '■セルのA1が空白(未入力)の場合、印刷させないサンプルコード
    If Cells(1, 1) = "" Then
        Cancel = True
    End If

End Sub

 

★注意★
・サンプルでは「顧客名簿」とコード内に直打ちしていますが、本来は定数化が望ましいです。
・サンプルでは「Cells(1,1)」と記載していますが、シート名を明示する事が望ましいです。
マクロ初級者必読-ワークシート名を変数にSetし、短い名前で利用する

Workbook_BeforePrintイベントが実行されない

  • 標準モジュールに記載している。
    →ThisWorkbookモジュールに記載をしましょう。

その他

  • ActiveWorkbook.PrintPreviewでも本イベントは動作します。
  • ActiveWorkbook.PrintOut Preview:=Trueでも本イベントは動作します。

関連記事

ブック保存する前に処理実行する【Workbook_BeforeSave】【ExcelVBA】
ブックを閉じる時に処理実行する【Workbook_BeforeClose】【auto_close】【ExcelVBA】

コメント

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