HOME > 即効テクニック > Excel VBA > メニューバー・ツールバー関連のテクニック > コマンドバー組み込みのものか判断する(BuiltInプロパティ)

即効テクニック

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

コマンドバー組み込みのものか判断する(BuiltInプロパティ)

(Excel 2000)

対象のコマンドバー、またはコマンドバーコントロールがExcel2000の組み込みのものであるか、ユーザー定義のものであるかを判断します。

●詳細●
対象のコマンドバー、またはコマンドバーコントロールがExcel2000の組み込みのものであるか、ユーザー定義のものであるかを判断するには、BuiltInプロパティの値で調べます。組み込みのものでは、Trueになります。また、組み込みのコントロールであっても、OnActionプロパティが設定されている場合には、このプロパティの値はFalseとなります。

  構文  Object.BuiltIn     取得のみ


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

次のサンプルは、ユーザー定義のコマンドバーをすべて削除します。

●サンプル●
Sub BuiltInSamp1()
    Dim myCB As CommandBar
    Dim myCBCtrl As CommandBar

    For Each myCB In CommandBars
        If myCB.BuiltIn = False Then
            MsgBox "メニューバー 「" & myCB.Name & "」 を削除します"
            myCB.Delete   '---ユーザー定義のコマンドバーであれば削除します
        End If
   Next myCB

End Sub

●ポイント●
組み込みのコマンドバーコントロールにはIDが割り当てられています。前述のAddメソッドで指定する引数IDと同じものです。ユーザー定義のコマンドバーコントロールの場合、この値は1となります。