Microsoft Excel VBA - FaceIDプロパティに設定できる各値に対応するボタンを含むツールバーを作成する方法

◆概要

このページは、OfficeのVBAで組み込みコマンドのIDと名前の一覧をテキストファイルに出力する方法について記載しています。



◆Sample code
次のプロシージャを任意のOfficeアプリケーションで実行すると、FaceIdプロパティに設定できる各値に対応するボタンを含むカスタムツールバーを作成します。これらのボタンをマウスでポイントすると、そのボタンのFaceIdプロパティの値が表示されます。
取得できたFaceIdプロパティは、ツールバーにコントロールを追加する方法で利用すると良いでしょう。

Sub MakeAllFaceIds()
'それぞれ 300 個のボタンが含まれる 14 個のツールバーを作成します。
'maxIdは有効な ID の最大値よりも大きいため、有効な ID の最大値より大きい値が
'初めて使用された時点でエラーが発生します。

    On Error GoTo realMax

    Const maxID = 3900
    Dim bars%
    Dim firstId%
    Dim lastId%
    Dim i%
    Dim tb As Object, btn As Object

    For bars% = 0 To 13
        firstId% = bars% * 300
        lastId% = firstId% + 299
        Set tb = CommandBars.Add
        
        For i% = firstId% To lastId%
            Set btn = tb.Controls.Add
            btn.FaceId = i
            btn.TooltipText = "FaseID : " & i
        Next

        tb.Name = ("ボタン (" & CStr(firstId%) & "〜" _
                              & CStr(lastId%) & ")")

        tb.Width = 591

        tb.Visible = True
    Next

'エラーの原因となったボタンを削除し、ツールバー名を設定します。
realMax:
    btn.Delete
    tb.Name = ("ボタン (" & CStr(firstId) & "〜" & CStr(i - 1) & ")")

    tb.Width = 591

    tb.Visible = True

End Sub
  

◆実行結果
Excel2002の実行結果
Excel2002の場合


Excel2007の実行結果
Excel2007の場合、アドインリボンの中に追加される

◆ツールバーの削除方法
このマクロで追加されたカスタムツールバーを削除するには、メニューの何もないところで右クリックし、表示されたショートカットメニューからユーザー設定を選択します。するとユーザー設定ダイアログボックスが表示されますので、[ツールバー]タブのツールバーで[ボタン(xxx〜xxx)]を選び、削除ボタンを押します。


Excel2007の場合
追加されたボタンを右クリックして、表示されたメニューから「ユーザー設定のコマンドの削除」をクリックします。


▼ページトップへ