CommandBarオブジェクトの一覧を作成するExcelマクロをご紹介しました。
CommandBarオブジェクトの子オブジェクトである、CommandBarControlオブジェクトの
一覧を作成するマクロもExcel VBAで作ってみました。
書式関連のCommandBarControlオブジェクトの一覧を作成するサンプルマクロ
全部のCommandBarControlオブジェクトの一覧となると相当な個数になるので、まずは「Formatting(書式)」に含まれるCommandBarControlオブジェクトの一覧です。
Sheets.Add Before:=Sheets(1)
Cells(1, "A").Value = "Index"
Cells(1, "B").Value = "Caption"
Cells(1, "C").Value = "ID"
Dim n As Long: n = 2
Dim itm As CommandBarControl
For Each itm In Application.CommandBars("Formatting").Controls
Cells(n, "A").Value = itm.Index
Cells(n, "B").Value = itm.Caption
Cells(n, "C").Value = itm.ID
n = n + 1
Next
Range("A1:C1").Font.Bold = True
Columns("A:C").AutoFit
上記のマクロを実行すると、下図のような一覧がアクティブブックの先頭に挿入された新規ワークシートに作成されます。
サンプルマクロで行っている処理
主たる処理は以下のFor Each~Nextループの部分です。
Dim n As Long: n = 2 Dim itm As CommandBarControl For Each itm In Application.CommandBars("Formatting").Controls Cells(n, "A").Value = itm.Index Cells(n, "B").Value = itm.Caption Cells(n, "C").Value = itm.ID n = n + 1 Next
Office.CommandBar.Controlsプロパティ取得できる、
Office.CommandBarControlsコレクションの要素である、CommandBarControlオブジェクトを
For Each~Nextループで順番に取得して、
Dim itm As CommandBarControl For Each itm In Application.CommandBars("Formatting").Controls
CommandBarControlオブジェクトの、
Index・Caption・IDプロパティをA:C列に順番に出力して、
Cells(n, "A").Value = itm.Index Cells(n, "B").Value = itm.Caption Cells(n, "C").Value = itm.ID
出力が終わったら、行番号を指定する変数nをインクリメントしています。
Dim n As Long: n = 2 Dim itm As CommandBarControl For Each itm In Application.CommandBars("Formatting").Controls Cells(n, "A").Value = itm.Index Cells(n, "B").Value = itm.Caption Cells(n, "C").Value = itm.ID n = n + 1 Next
最終更新日時:2025-02-27 14:36
- Newer:フォント名一覧を作成するExcelマクロ
- Older:クリスタで文字にふちどりを設定する
Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » 書式関連のCommandBarControlオブジェクトの一覧を作成するExcelマクロ