|
>>[ページ設定]ダイアログにも[プレビュー]がありましたね...ちょっと挫折しましたorz
Application.CommandBars.FindControl(ID:=247)もWithEventsで捉まえて
Application.Dialogs(xlDialogPageSetup).Show と入れ替えると
こちらのウィンドウには[プレビュー]がありません。
なので
Application.CommandBars.FindControl(ID:=109)をラップするだけで
[プレビュー]クリックを判断する事ができそうです。
あとはフラグをうまく使えばキャンセルも判定できると思います。
'ThisWorkbook Module
Option Explicit
Private flg As Boolean
Private WithEvents prvCB As Office.CommandBarButton
Private WithEvents pstCB As Office.CommandBarButton
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set prvCB = Nothing
Set pstCB = Nothing
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If flg Then
MsgBox "preview"
flg = False
End If
End Sub
Private Sub Workbook_Open()
Set prvCB = Application.CommandBars.FindControl(ID:=109)
Set pstCB = Application.CommandBars.FindControl(ID:=247)
End Sub
Private Sub prvCB_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
'MsgBox "preview_click"
flg = True
End Sub
Private Sub pstCB_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
CancelDefault = True
Application.Dialogs(xlDialogPageSetup).Show
End Sub
|
|