2015-10-01 87 views
0

我在Excel中创建了一个很好的上下文菜单。我只是不确定如何添加另一个菜单.Caption = "My Special Menu"如何添加在上下文菜单中添加更多菜单?

所以我想上下文菜单出现这样。

我的特别菜单> IT>微软办公软件(那么2个按钮)

这是可能的上下文菜单?

当你按IT来说Google Docs中的按钮时,也有可能在Microsoft Office下有另一个菜单吗?

Option Explicit 

Public Const Mname As String = "MyPopUpMenu" 

Sub DeletePopUpMenu() 
    ' Delete the popup menu if it already exists. 
    On Error Resume Next 
    Application.CommandBars(Mname).Delete 
    On Error GoTo 0 
End Sub 

Sub CreateDisplayPopUpMenu() 
    ' Delete any existing popup menu. 
    Call DeletePopUpMenu 

    ' Create the popup menu. 
    Call Custom_PopUpMenu_1 

    ' Display the popup menu. 
    On Error Resume Next 
    Application.CommandBars(Mname).ShowPopup 
    On Error GoTo 0 
End Sub 

Sub Custom_PopUpMenu_1() 
    Dim MenuItem As CommandBarPopup 
    ' Add the popup menu. 
    With Application.CommandBars.Add(Name:=Mname, Position:=msoBarPopup, _ 
     MenuBar:=False, Temporary:=True) 

     ' add a menu that contains two buttons. 
     Set MenuItem = .Controls.Add(Type:=msoControlPopup) 
     With MenuItem 
      .Caption = "My Special Menu" 

      With .Controls.Add(Type:=msoControlButton) 
       .Caption = "Button 1 in menu" 
       .FaceId = 71 
       .OnAction = "'" & ThisWorkbook.Name & "'!" & "" 
      End With 

      With .Controls.Add(Type:=msoControlButton) 
       .Caption = "Button 2 in menu" 
       .FaceId = 72 
       .OnAction = "'" & ThisWorkbook.Name & "'!" & "T" 
      End With 
     End With 

回答

0

试试这个

 With MenuItem 
     .Caption = "My Special Menu" 
     With .Controls.Add(Type:=msoControlPopup, before:=1) 
      .Tag = "submenu1" 
      .Caption = "IT" 
      With .Controls.Add(Type:=msoControlPopup, before:=1) 
       .Tag = "Submenu2" 
       .Caption = "Microsoft Office!" 


       With .Controls.Add(Type:=msoControlButton, before:=1) 
         .Tag = "btn1" 
         .Caption = "Button 1 in menu" 
         .FaceId = 71 
         .OnAction = "'" & ThisWorkbook.Name & "'!" & "" 
       End With 
       With .Controls.Add(Type:=msoControlButton) 
         .Tag = "btn2" 
         .Caption = "Button 2 in menu" 
         .FaceId = 72 
         .OnAction = "'" & ThisWorkbook.Name & "'!" & "T" 
       End With 

      End With 
     End With 
     End With 
相关问题