サンプルではワークシートメニューバー(CommandBars("Worksheet Menu Bar"))
のコントロール(ControlPopup)と一階層下のコントロール(ControllPopup、及び
ControlButton)を書き出します。
Sub GetWorksheetMenuCtrl()
Dim i As Integer, j As Integer
Dim CBar As CommandBar
Set CBar = Application.CommandBars(1)
Cells.Clear
With CBar.Controls
For i = 1 To .Count
Cells(1, i).Value = "Caption: " & .Item(i).Caption
Cells(2, i).Value = "Index: " & .Item(i).Index
Cells(3, i).Value = "ID: " & .Item(i).ID
With .Item(i).Controls
For j = 1 To .Count
Cells(4 * j + 2, i).Value = "Caption: " & .Item(j).Caption
Cells(4 * j + 3, i).Value = "Index: " & .Item(j).Index
Cells(4 * j + 4, i).Value = "ID: " & .Item(j).ID
Next j
End With
Next i
End With
ActiveSheet.UsedRange.EntireColumn.AutoFit
ActiveSheet.UsedRange.Resize(3).Font.Bold = True
End Sub
※Set CBar = Application.CommandBars(1)の部分を
Set CBar = Application.VBE.CommandBars(1)とするとVisual Basic Editorの
メニューバー機能一覧を作成することが出来ます。
上記サンプルで作成される機能一覧からIDを指定してコントロールを実行するには
FindControlメソッドを使用します。
|