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イベントを利用しました。
この記事へのコメントはありません。