次の方法で共有


CommandBar オブジェクト (Office)

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

注:

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

CommandBars (index) を使用します。index はコマンド バーの名前またはインデックス番号で、1 つの CommandBar オブジェクトを返します。 次の例では、コマンド バーのコレクションをステップ実行して、"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 のサポートおよびフィードバックを参照してください。