
Excel VBAで印刷する前に、処理を実行する記録です。
印刷する前に処理を実行するには「BeforePrint」イベントを使います。
下図はExcel2016です。
< スポンサーリンク >
BeforePrint構文
Workbook_BeforePrint(Cancel)
ブックをまたはその中に含まれる内容を印刷する前に発生します。
Cancel=必須。イベントが発生すると、Falseが渡されます。イベントプロシージャでこの引数にTrueを設定すると、プロシージャが終了してもブックは印刷されません。
BeforePrintの使用例
Excelで名簿を作成していても、名簿に誰のデータも入力されていない場合は、「印刷するデータがありません」とメッセージを表示し、印刷をキャンセルしてみます。
VBEを開き、「ThisWorkbook」をダブルクリックします。
左側のオブジェクトボックスで「Workbook」を選択し、右側のプロシージャボックスで「BeforePrint」を選択します。
「Private Sub Workbook_Open()」の部分は不要なので消します。
下記のように書き込みます。「A3のセルにデータがない場合は・・・」とします。
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Range(“A3”).Value = “” Then
MsgBox “印刷するデータがありません”
Cancel = True
End If
End Sub
クイック印刷をしてみます。
「印刷するデータがありません」というメッセージが出て、印刷がキャンセルされました。
こんな記事も書いています