特定のコントロールを指定してIDを調べるには(例えばワークシートメニュ
ーバーの左から数えて四番目”挿入”メニューの5項目目の”グラフ”のIDを
調べるには・・・)
Sub GetCtrlID()
Dim CBar As CommandBar
Dim CPop As CommandBarPopup
Dim CButton As CommandBarButton
Set CBar = CommandBars(1)
Set CPop = CBar.Controls(4) 'あるいは("挿入(&I)")
Set CButton = CPop.Controls(5) '("グラフ(&H)...")
MsgBox CButton.Caption & vbCrLf & CButton.ID
End Sub
※コントロールはIndex数値やIDでも指定できますが、97、2000で数値が異なる
こともあるため両方でアプリケーションを使用する可能性のあるときは上記のよ
うな方法で確認する必要があります。例えば”ファイル”メニューのIndexは
印刷関係のコマンドのIndexに若干のずれがあります。キャプションによる指定も
97ではカタカナが半角であったりなどしますので、この場合はIDは同じですから
IDで指定してFindControlを用いる方がより正確であるといえます。
(参考)
テクニック集:コマンドバーのコントロールを指定して実行
テクニック集:コマンドバー機能一覧を作成する
テクニック集:Visual Basic Editor コマンドバー機能一覧
テクニック集:メニューバーへのコントロール追加と処理の分岐
テクニック集:ワークシートメニューバーの機能一覧
|