* PowerPointVBATips:アドインが読み込まれた時にツールバーを表示する

アドインが読み込まれた時にアドイン独自のツールバーを表示するようにするには、Sub Auto_Open()をモジュールに追加し、ツールバーを作成するコードを書きます。trimmer.ppaのソースを例に説明します。

まず、モジュールの宣言部でツールバーやその上に置くアイコンの名前を定数宣言しておきます。他のモジュールからアクセスできない様にPrivateにしておきましょう。

  1. Private Const TOOL_BAR As String = "RedAddins"
  2. Private Const DEL_ANIME As String = "アニメーション全削除"
  3. (以下、略)

次にAuto_Openプロシージャでツールバーを作成します。

  1. Sub Auto_Open()
  2. Dim cbrWiz As CommandBar
  3. Dim ctlInsert As CommandBarButton
  4. On Error Resume Next
  5. ' コマンド バーが既に存在するかどうかを確認します。
  6. Set cbrWiz = CommandBars(TOOL_BAR)
  7. ' コマンド バーが存在しない場合は作成します。
  8. If cbrWiz Is Nothing Then
  9. Err.Clear
  10. Set cbrWiz = CommandBars.Add(TOOL_BAR, msoBarTop) ' ツールバーを作成
  11. ' コマンド バーを表示
  12. cbrWiz.Visible = True
  13. Set ctlInsert = cbrWiz.Controls.Add 'ツールバーにコントロールを追加。
  14. With ctlInsert
  15. .Style = msoButtonCaption ' 表示のスタイル(この場合、キャプション表示)
  16. .Caption = CR_FIT
  17. .Tag = CR_FIT
  18. .OnAction = "CropFitToSlide" ' 押された時に実行するサブプロシージャ
  19. End With
  20. (中略)
  21. End If
  22. End Sub

なお、モジュールがアンロードされるときには、ツールバーを削除する方が良いでしょう。次の様なサブプロシージャを追加します。

  1. Sub Auto_Close()
  2. On Error Resume Next
  3. ' 存在するコマンド バーを削除します。
  4. CommandBars(TOOL_BAR).Delete
  5. End Sub