Excel VBA CommandBarオブジェクト のメソッド・プロパティ

スポンサーリンク

オリジナルコマンドバーを作成する方法

オリジナルのコマンドバーを作成するには、CommandBars【コマンドバーズ】コレクションの
Add【アド】メソッドを使用します。

Add【アド】メソッドを実行するとCommandBar【コマンドバー】オブジェクトがCommandBars【コマンドバーズ】コレクションに追加されます。

通常は「ツールバー」が作成されますがAdd【アド】メソッドの引数Position【ポジション】にmsoBarPopup【エムエスオーバーポップア;ツプ】を指定すると「ショートカットメニュー」が作成されます。

作成したCommandBar【コマンドバー】オブジェクトのメニューやボタンを作成するにはCommandBarControls【コマンドバーコントロールズ】コレクションのAdd【アド】メソッドを使用します。

引数Type【タイプ】に「msoControlPopup」を指定することでサブメニューを持つメニューに指定できます。

作成したコマンドバーが「ツールバー」の場合は、CommandBar【コマンドバー】オブジェクトのVisible【ビジブル】プロパティを「True」に設定すると「アドイン」タグが追加され「アドイン」タグのリボンにCommandBar【コマンドバー】オブジェクトが表示されます。

作成したコマンドバーが「ショートカットメニュー」の場合は、CommandBar【コマンドバー】オブジェクトのShowPopup【ショウポップアップ】メソッドを使用してショートカットメニューを使用したいワークシートモジュールのBeforeRightClik【ビフォアライトクリック】イベントプロシージャーに記述してセルをマウスボタン右クリックでメニューが表示されるようにします。

「コマンドバー」を作成するメソッド一覧

メソッド 内容
CommandBars.Add
【コマンドバーズアド】
「コマンドバー」を表す
CommandBar【コマンドバー】オブジェクトを追加します。
CommandBarControls.Add
【コマンドバーコンオロールズアド】
コマンドバーコントロール(ボタンやメニュー)を表す
CommandBarButton【コマンドバーボタン】オブジェクトや
CommandBarPopup【コマンドバーポップアップ】オブジェクト
を追加します。
CommandBar.ShowPopup
【コマンドバーショウポップアップ】
「ショートカットメニュー」を表示します。

コマンドバーコントロールの主なプロパティ一覧

プロパティ 内容
Controls
【コントロールズ】
コマンドバーコントロールを表す
CommandBarControls【コマンドバーコントロールズ】コレクション
を参照します。
Caption
【キャプション】
コマンドバーに表示する名前を設定または取得します。
FaceID
【フェイスアイディ】
ボタンイメージのID番号を設定または取得します。
Style
【スタイル】
サブメニューを持たないメニューやボタンの
表示方法を設定します。
OnAction
【オンアクション】
実行するマクロを設定します。
BeginGroup
【ビギングループ】
メニューの区切り線の表示・非表示を設定します。
TooltipText
【ツールチップテキスト】
ポップヒントに指定する文字列を設定します。
Visible
【ビジブル】
ツールバーの表示・非表示を設定します。

CommandBars.Add【コマンドバーズアド】メソッド

コマンドバーを作成するには、CommandBars【コマンドバーズ】コレクションのAdd【アド】メソッドを使用します。

CommandBars.Add【コマンドバーズアド】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.CommandBars.Add( [Name, Position, Temporary] )

  • オブジェクト(必須)
    Application【アプリケーション】オブジェクトを指定します。
  • Name【ネーム】(省略可)
    作成するコマンドバーの名前を設定します。
    省略した場合は、「ユーザー設定 1」といった名前が
    連番で自動的に設定されます。
    設定した名前は画面上に表示されることはありませんが
    操作したいツールバーをVBAで特定するときなどに使用されます。
  • Position【ポジション】(省略可)
    コマンドバーの種類を指定します。

    設定値 内容
    msoBarPopup
    【エムエスオーバーポップアップ】
    「ショートカットメニュー」を作成します。
    (省略) 「ツールバー」を作成します。
  • Temporary【テンポラリ】(省略可)
    作成したコマンドバーをExcel終了時に削除するかしないかを指定します。

    設定値 内容
    True コマンドバーを削除する
    False コマンドバーを削除しない(既定値)

Controls【コントロールズ】プロパティ

コマンドバーのコントロール表すCommandBarControls【コマンドバーコントロールズ】コレクションを参照するにはControls【コントロールズ】プロパティを使用します。

Controls【コントロールズ】プロパティの書式と設定値の説明

オブジェクト.Controls

  • オブジェクト(必須)
    CommandBars.Add【コマンドバーズアド】メソッドで追加したCommandBar【コマンドバー】オブジェクトを指定します。

CommandBarControls.Add【コマンドコントロールズアド】メソッド

追加したCommandBar【コマンドバー】オブジェクトに、メニューやボタンを追加するには
CommandBarControlsコレクションのAdd【アド】メソッドを使用します。

CommandBarControls.Add【コマンドコントロールズアド】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.Add( [Type, Before, Temporary] )

  • オブジェクト(必須)
    Controls【コントロールズ】プロパティで参照したCommandBarControls【コマンドバーコントロール】コレクションを指定します。
  • Type【タイプ】(省略可)
    作成するコマンドコントロールの種類をMsoControlType列挙型の定数で指定します。
    省略した場合は既定値が指定されるので、サブメニューを持つメニューを作成する場合のみ指定します。

    MsoControlType列挙型の定数
    定数 内容
    msoControlButto(既定値) 1 サブメニューをもたないボタン
    msoControlPopup 10 サブメニューを持つメニュー

  • Before【ビフォア】
    コマンドバーに配置する位置を数値で指定します。指定した位置にあるコマンドバーコントロールの直前に配置されます。省略した場合は、コマンドバーの末尾に配置されます。
  • Temporary【テンポラリ】(省略可)
    作成したコマンドバーをExcel終了時に削除するかしないかを指定します。

    設定値 内容
    True コマンドバーを削除する
    False コマンドバーを削除しない(既定値)

Caption【キャプション】プロパティ

コマンドバーコントロールに名前を設定または取得するには、CommandBarControl【コマンドバーコントロール】オブジェクトのCaption【キャプション】プロパティを使用します。

Caption【キャプション】プロパティの書式と設定値の説明

オブジェクト.Caption = 設定値

  • オブジェクト(必須)
    サブメニューを持たないコントロールを表すCommandBarButton【コマンドバーボタン】オブジェクト、またはサブメニューがあるコントロールを表すCommandBarPopup【コマンドバーポップアップ】を指定します。
  • 設定値
    ボタンやメニューに表示する名前を文字列で指定します。名前の文字列の最後に(&半角英数)でアクセスキーを設定することができます。アクセスキーとはショートカットでAltキーを使用したショートカットです。既定のアクセスキーと同じ半角英数を指定した場合は既定のアクセスキーが優先されます。(例)Caption = “オリジナルボタン(&M)”

FaceID【フェイスアイディ】プロパティ

ボタンにExcelで用意されているアイコンを表示するには、CommandBarButton【コマンドバーボタン】オブジェクトのFaceID【フェイスアイディ】プロパティを使用します。値の取得と設定が可能です。

FaceID【フェイスアイディ】プロパティの書式と設定値の説明

オブジェクト.FaceID = 設定値

  • オブジェクト(必須)
    サブメニューを持たないコントロールを表すCommandBarButton【コマンドバーボタン】オブジェクトを指定します。
  • 設定値
    アイコンのID(番号)を指定します。アイコンのIDについては
    コマンドバーのボタンイメージ FaceIDを取得する
    をご覧ください。

Style【スタイル】プロパティ

サブメニューを持たないCommandBarButton【コマンドバーボタン】オブジェクトの表示方法を設定するにはStyle【スタイル】プロパティを使用します。

Style【スタイル】プロパティの書式と設定値の説明

オブジェクト.Style = 定数

  • オブジェクト(必須)
    サブメニューを持たないコントロールを表すCommandBarButton【コマンドバーボタン】オブジェクトを指定します。
  • 定数
    コントロールの表示方法をMsoButtonStyle列挙型の定数で指定します。

    MsoButtonStyle列挙型の定数
    定数 表示方法
    msoButtonCaption テキストのみ
    msoButtonIcon アイコンのみ
    msoButtonAndCaption テキストとアイコン

OnAction【オンアクション】プロパティ

コントロールに実行するマクロを設定するには、CommandBarControl【コマンドバーコントロール】オブジェクトのOnAction【オンアクション】メソッドを使用します。

OnAction【オンアクション】プロパティの書式と設定値の説明

オブジェクト.OnAction = “実行するマクロ名”

  • オブジェクト(必須)
    サブメニューを持たないコントロールを表すCommandBarButton【コマンドバーボタン】オブジェクト、またはサブメニューがあるコントロールを表すCommandBarPopup【コマンドバーポップアップ】を指定します。
  • “実行するマクロ名”
    コントロールを押したときに実行するマクロ名を文字列型で指定します。

BeginGroup【ビギングループ】プロパティ

コントロールに区切り線を表示するかしないかを設定するには、CommandBarControl【コマンドバーコントロール】オブジェクトのBeginGroup【ビギングループ】プロパティを使用します。

BeginGroup【ビギングループ】プロパティの書式と設定値の説明

オブジェクト.BeginGroup = 設定値

  • オブジェクト(必須)
    サブメニューを持たないコントロールを表すCommandBarButton【コマンドバーボタン】オブジェクト、またはサブメニューがあるコントロールを表すCommandBarPopup【コマンドバーポップアップ】を指定します。
  • 設定値
    区切り線を表示する場合は「True」を設定します。

    設定値 内容
    True 区切り線を表示
    False 区切り線を非表示(既定値)

TooltipText【ツールチップテキスト】プロパティ

マウスポンタ―がコントロール上にあるときにポップヒントを表示するには、CommandBarControl【コマンドバーコントロール】オブジェクトのTooltipText【ツールチップテキスト】プロパティを使用します。

TooltipText【ツールチップテキスト】プロパティの書式と設定値の説明

オブジェクト.TooltipText = “表示する文字列”

  • オブジェクト(必須)
    サブメニューを持たないコントロールを表すCommandBarButton【コマンドバーボタン】オブジェクトまたはサブメニューがあるコントロールを表すCommandBarPopup【コマンドバーポップアップ】を指定します。
  • “表示する文字列”
    表示する文字を文字列型で指定します。TooltipText【ツールチップテキスト】プロパティを設定しない場合は、ポップヒントとして表示されるのはCaption【キャプション】プロパティに設定した文字列です。

Visible【ビジブル】プロパティ

Add【アド】メソッドで作成したコマンドバーを表示するには、CommandBar【コマンドバー】オブジェクトVisible【ビジブル】プロパティを使用します。

Visible【ビジブル】プロパティの書式と設定値の説明

オブジェクト.Visible = 設定値

  • オブジェクト(必須)
    CommandBar【コマンドバー】オブジェクトを指定します。
  • 設定値
    コマンドバーを表示するには「True」を設定します。

    設定値 内容
    True コマンドバーを表示します。
    False コマンドバーを非表示にします。(既定値)

CommandBar.ShowPopup【コマンドバーショウポップアップ】メソッド

CommandBars.Add【コマンドバーズアド】メソッドで、引数Position【ポジション】にmsoBarPopupを指定して作成した「ショートカットメニュー」を表示するには、CommandBar【コマンドバー】オブジェクトのShowPopup【ショウポップアップ】メソッドを使用します。

CommandBar.ShowPopup【コマンドバーショウポップアップ】メソッドの書式と設定値の説明

オブジェクト.ShowPopup

  • オブジェクト(必須)
    表示する「ショートカットメニュー」を表すCommandBar【コマンドバー】オブジェクトを指定します。※ショートカットメニューを作成するコードはショートカットメニューを使用したいワークシートモジュールの「BeforeRightClick」イベントプロシージャに記述します。ショートカットメニューをクリックしたときに実行するマクロは標準モジュールに記述します。

コード例リンク


以上で、CommandBar【コマンドバー】オブジェクト のメソッド・プロパティについての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告