Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


27113 / 76732 ←次へ | 前へ→

【54943】Re:beforeprintについて
発言  n  - 08/4/5(土) 18:31 -

引用なし
パスワード
   >>[ページ設定]ダイアログにも[プレビュー]がありましたね...ちょっと挫折しました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
2 hits

【54846】beforeprintについて hisao 08/4/1(火) 18:13 質問
【54914】Re:beforeprintについて n 08/4/3(木) 21:13 発言
【54941】Re:beforeprintについて hisao 08/4/5(土) 9:14 お礼
【54943】Re:beforeprintについて n 08/4/5(土) 18:31 発言
【54949】Re:beforeprintについて hisao 08/4/6(日) 17:44 お礼
【54950】Re:beforeprintについて n 08/4/6(日) 18:00 発言
【54959】Re:beforeprintについて hisao 08/4/7(月) 13:18 お礼

27113 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free