動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2501(ビルド18429.20132クイック実行)
Office.CommandBarオブジェクトの、
インデックス番号や名前を一覧にして眺めたかったので、Excel VBAでマクロを作りました。
[スポンサードリンク]
CommandBarオブジェクトの一覧を作成するサンプルマクロ
以下のExcelマクロを実行すると、アクティブなブックの先頭にワークシートが挿入され、CommandBarオブジェクトのIndex・Name・NameLocalの一覧が作成されます。
Sub CommandBarオブジェクトの一覧を作成する()
Sheets.Add Before:=Sheets(1)
Cells(1, "A").Value = "Index"
Cells(1, "B").Value = "Name"
Cells(1, "C").Value = "NameLocal"
Dim i As Long
With Application.CommandBars
For i = 1 To .Count
Cells(i + 1, "A").Value = .Item(i).Index
Cells(i + 1, "B").Value = .Item(i).Name
Cells(i + 1, "C").Value = .Item(i).NameLocal
Next
End With
Sheets.Add Before:=Sheets(1)
Cells(1, "A").Value = "Index"
Cells(1, "B").Value = "Name"
Cells(1, "C").Value = "NameLocal"
Dim i As Long
With Application.CommandBars
For i = 1 To .Count
Cells(i + 1, "A").Value = .Item(i).Index
Cells(i + 1, "B").Value = .Item(i).Name
Cells(i + 1, "C").Value = .Item(i).NameLocal
Next
End With
Range("A1:C1").Font.Bold = True
Columns("A:C").AutoFit
サンプルマクロで行っている処理
主たる処理は、中盤以降の以下のFor~Nextループです。
Dim i As Long With Application.CommandBars For i = 1 To .Count Cells(i + 1, "A").Value = .Item(i).Index Cells(i + 1, "B").Value = .Item(i).Name Cells(i + 1, "C").Value = .Item(i).NameLocal Next
Excel.ApplicationオブジェクトのCommandBarsプロパティで、
Office.CommandBarsコレクションを取得して、
With Application.CommandBars
CommandBarsコレクションの要素であるCommandBarオブジェクトの、
Index・Name・NameLocalをA:C列に出力しています。
For i = 1 To .Count Cells(i + 1, "A").Value = .Item(i).Index Cells(i + 1, "B").Value = .Item(i).Name Cells(i + 1, "C").Value = .Item(i).NameLocal Next
最終更新日時:2025-02-20 14:53
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » CommandBarオブジェクトの一覧を作成するExcelマクロ