Office関連

「印刷の向き」の変更を検知するExcelマクロ

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イベントを利用しました。

【スナックワールド】でんぢゃらすソードをLv.8まで強化してみました。前のページ

【スナックワールド】ドラゴンナイトの限界突破攻略次のページ

関連記事

  1. Office関連

    [Wordマクロ]PrintOutメソッド実行時に「型が一致しません」との実行時エラーが発生する。

    Wordマクロで文書を印刷するときはPrintOutメソッドをよく使い…

  2. Office関連

    VBAを学ぶときの参考資料

    知人から「Excelのマクロを勉強したいんだけど、どうやって勉強したら…

  3. Office関連

    [Office]スケッチ機能で図形の線を手書き風に!

    ※ 下記情報はInsider版のOfficeを元にしています。バージョ…

  4. Office関連

    選択中の図形の文字列を蛍光ペンでハイライトするPowerPointマクロ

    MSDNフォーラムに「PowerPoint 2016で、マクロで選択中…

  5. Office関連

    jQuery UIのDatepickerをVBAから使用するサンプル

    2014/1/31 追記:Internet Explorerのオー…

  6. Office関連

    【2017年1月版】Microsoft Edgeを操作するVBAマクロ(DOM編)(2)

    昨日の記事で、Microsoft Edgeを操作するVBAコードを改め…

コメント

  • コメント (0)

  • トラックバックは利用できません。

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP