MSDNフォーラムに「「印刷の向き」の「縦」「横」ボタンがクリックされた時のイベントを取得したい」という質問があり、回答用にコードを書きました。
'ThisWorkbook
Option Explicit
Private WithEvents cbars As Office.CommandBars
Private flgPo As XlPageOrientation
Private Sub Workbook_Open()
Set cbars = Application.CommandBars
flgPo = ActiveSheet.PageSetup.Orientation
End Sub
Private Sub cbars_OnUpdate()
Dim po As XlPageOrientation
po = ActiveSheet.PageSetup.Orientation
If po <> flgPo Then
Select Case po
Case xlLandscape: MsgBox "印刷の向きが「横」になりました。"
Case xlPortrait: MsgBox "印刷の向きが「縦」になりました。"
End Select
flgPo = po
End If
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
flgPo = Sh.PageSetup.Orientation
End Sub
下記記事で紹介しているように、コマンドバーのイベントやリボンのカスタマイズ(command要素のonAction属性)で対応できれば良かったのですが、今回は難しそうだったので、CommandBarsオブジェクトのOnUpdateイベントを利用しました。






















この記事へのコメントはありません。