Excel VBA 印刷する前に処理をする-BeforePrint

Excel VBAで印刷する前に、処理を実行する記録です。

印刷する前に処理を実行するには「BeforePrint」イベントを使います。

下図はExcel2016です。

< スポンサーリンク >





BeforePrint構文

Workbook_BeforePrint(Cancel)

ブックをまたはその中に含まれる内容を印刷する前に発生します。

Cancel=必須。イベントが発生すると、Falseが渡されます。イベントプロシージャでこの引数にTrueを設定すると、プロシージャが終了してもブックは印刷されません。

 

BeforePrintの使用例

Excelで名簿を作成していても、名簿に誰のデータも入力されていない場合は、「印刷するデータがありません」とメッセージを表示し、印刷をキャンセルしてみます。

VBEを開き、「ThisWorkbook」をダブルクリックします。

ExcelVBA印刷前

 

左側のオブジェクトボックスで「Workbook」を選択し、右側のプロシージャボックスで「BeforePrint」を選択します。

ExcelVBA印刷前

 

「Private Sub Workbook_Open()」の部分は不要なので消します。

ExcelVBA印刷前

 

下記のように書き込みます。「A3のセルにデータがない場合は・・・」とします。

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If ActiveSheet.Range(“A3”).Value = “” Then
        MsgBox “印刷するデータがありません”
        Cancel = True
    End If
End Sub

ExcelVBA印刷前

 

クイック印刷をしてみます。

ExcelVBA印刷前

 

「印刷するデータがありません」というメッセージが出て、印刷がキャンセルされました。

ExcelVBA印刷前

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします