CommandBar オブジェクト (Office)

コンテナー アプリケーションでのコマンド バーを表します。 CommandBar オブジェクトは、CommandBars コレクションのメンバーです。

注:

[!メモ] 一部の Microsoft Office アプリケーションにおける CommandBars の使用方法が、Microsoft Office Fluent ユーザー インターフェイスの新しいリボン コンポーネントによって置き換えられました。 詳細については、「Office Fluent リボンの概要」を参照してください。

1 つの CommandBar オブジェクトを返すには、CommandBars (インデックス) を使用します。ここで、index はコマンド バーの名前またはインデックス番号です。 次の例では、コマンド バーのコレクションを順を追って、"Forms" という名前のコマンド バーを見つけます。このコマンド バーが見つかった場合、例ではコマンド バーを表示してドッキング状態を保護します。 この例では、変数 cbCommandBar オブジェクトを表します。

foundFlag = False  
For Each cb In CommandBars 
    If cb.Name = "Forms" Then 
        cb.Protection = msoBarNoChangeDock 
        cb.Visible = True  
        foundFlag = True  
    End If 
Next cb 
If Not foundFlag Then 
    MsgBox "The collection does not contain a Forms command bar." 
End If

名前またはインデックス番号を使用して、コンテナー アプリケーションで使用可能なメニュー バーとツールバーの一覧でメニュー バーまたはツールバーを指定します。 ただし、CommandBar オブジェクトで表されるメニュー、ショートカット メニュー、またはサブメニューを指定するには、名前を使用する必要があります。 次の使用例は、[ツール] メニューの下端に新しいメニュー項目を追加します。 選択すると、新しいメニュー項目は「qtrReport」という名前のプロシージャを実行します。

Set newItem = CommandBars("Tools").Controls.Add(Type:=msoControlButton) 
With newItem 
    .BeginGroup = True  
    .Caption = "Make Report" 
    .FaceID = 0 
    .OnAction = "qtrReport" 
End With

2 つ以上のカスタム メニューまたはサブメニューが同じ名前の場合、 CommandBars(index) は 最初のメニューまたはサブメニューを返します。 目的のメニューまたはサブメニューが確実に返されるようにするには、そのメニューを表示するポップアップ コントロールを検索します。 次に、そのポップアップ コントロールに CommandBar プロパティを設定すると、目的のメニューを表すコマンド バーが返されます。 この例では、ツールバーの [カスタム ツール] という名前の 3 番目のコントロールがポップアップ コントロールであると仮定し、そのメニューの一番下に [保存 ] コマンドを追加します。

Set viewMenu = CommandBars("Custom Tools").Controls(3) 
viewMenu.Controls.Add ID:=3    'ID of Save command is 3

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。