即効テクニック

メニューバー・ツールバー関連のテクニック

マクロを割り当てる

(Excel 2000)
ユーザーがクリックするか、コマンドバーコントロールの値が変化したときに実行されるマクロを、コマンドバーコントロールに割り当てます。ユーザー定義のコマンドバーコントロールに割り当てるのが一般的ですが、組み込みのものに割り当てることも可能です。

構文  Object.Action     設定/取得のみ


設定項目  内容
Object    CommandBarButton、CommandBarComboBox、CommandBarControl、
          CommandBarPopupオブジェクト[省略不可]

次のサンプル1は、「Sample」という名前のユーザー定義のコマンドバーの1つ目のコマンドバーコントロールにマクロを割り当てます。

●サンプル●
Sub OnActionSamp1()
  Dim myCBCtrl As CommandBarButton

  Set myCBCtrl = CommandBars("Sample").Controls(1)
  '---"Sample"の1つめのコマンドバーコントロールに対して
  myCBCtrl.OnAction = "OnActionSamp2"
  '---"OnActionSamp2"という名前のマクロを割り当てます

End Sub

なお、割り当てられたマクロは、次のようなコードになります。

●サンプル2●
Sub OnActionSamp2()

  MsgBox "ユーザー定義のツールバーからマクロが実行されました"

End Sub

●ポイント●
割り当てられたマクロが有効なマクロ名かどうかは、割り当てらてたマクロを実行する段階で判断されます。したがって、OnActioinプロパティに値を設定した段階ではマクロ名が不正でもエラーは発生しません。設定がうまくできたかどうかは、実際にコマンドバーコントロールからマクロを実行して確かめてください。