excel vba 右クリックメニューに階層付きで追加する方法

コード

Sub AddCustomMenuItem()
    Dim commandBar As CommandBar
    Dim mainMenu As CommandBarPopup
    Dim subMenu As CommandBarButton
    Dim foundMenu As Boolean
    
    ' セルの右クリックメニューを取得
    Set commandBar = Application.CommandBars("Cell")
    
    ' 既にメニューが追加されているか確認
    foundMenu = False
    For Each ctrl In commandBar.Controls
        If ctrl.Caption = "追加メニュー" Then
            foundMenu = True
            Exit For
        End If
    Next ctrl
    
    ' メニューがまだない場合は追加
    If Not foundMenu Then
        ' 親メニューを作成
        Set mainMenu = commandBar.Controls.Add(Type:=msoControlPopup, Temporary:=True)
        mainMenu.Caption = "追加メニュー"
        
        ' チャートサーフィン(コード選択必須)サブメニューを追加
        Set subMenu = mainMenu.Controls.Add(Type:=msoControlButton)
        With subMenu
            .Caption = "サブメニュー"
            .OnAction = "hogehoge_func"
        End With
    End If
End Sub