|
▼まつ さん:
こんばんは。
>マクロで新規作成したブックのBeforePrintイベントに上記のコードを埋め込む方法は
>ないものでしょうか?
そういう方法もないわけではありませんが、この事象ではそれが適当かどうかは
詳しい仕様の記述がないと何ともいえませんねえ!!
>ブックの新規作成をするマクロが含まれるプロジェクトのWorkBook_BeforePrintイベント
このマクロを含むプロジェクトのthisworkbookのモジュールに
'=============================================================
Option Explicit
Dim WithEvents new_bk As Workbook
'=============================================================
Sub 新規作成()
Set new_bk = Workbooks.Add
End Sub
'=============================================================
Private Sub new_bk_BeforePrint(Cancel As Boolean)
Dim Sheet_Name As String
Dim w_str As String
Sheet_Name = new_bk.ActiveSheet.Name
If Sheet_Name = "伝票" Then
If new_bk.ActiveSheet.Range("B5") = "" Then '/*---セル"B5":日付
Cancel = True
w_str = "日付が未入力なので印刷できません。"
MsgBox w_str, vbExclamation, "印刷"
End If
End If
'このイベントプロシジャー中身は吟味していません
End Sub
とし、プロシジャー「新規作成」で作成された新規ブックは、
上記の「new_bk_BeforePrint」というイベントプロシジャーが作動します。
ユーザーが通常オペレーティングで新規作成したブックに対してもイベントを適応したいなら、Applicationレベルのイベントを拾う方法を取らなければなりません。
まずは、上記を試してみてください
|
|