2010-04-22 27 views
1

我正在開發一個Excel共享加載項,其中包含使用Excel宏創建的名爲Custom的菜單。現在我想使用Csharp Shared Add -in在Custom菜單下創建一個子菜單。使用蔭這樣做下面的代碼,但沒有幫助在Excel Shared Add-in中的現有菜單中創建子菜單

oStandardBar = oCommandBars["Custom"]; 
oCmdBarCtrl = oStandardBar.Controls.Add(MsoControlType.msoControlPopup, Type.Missing, Type.Missing, Type.Missing, true); 
oCmdBarCtrl.Visible = false; 
oCmdBarCtrl.Caption = "Sub Menu1"; 

但它不創建一個子菜單,在這裏,如果我給予「幫助」的地方自定義的我得到創建的菜單。任何解決此問題的方法?

回答

1

這裏有一個快速的樣品,以幫助您在您的方式:

 var m_toolbar = this.Application.CommandBars.Add("WpfAddIn", 
      Office.MsoBarPosition.msoBarTop, false, true); 

     var mainMenu = (Office.CommandBarPopup)m_toolbar.Controls 
      .Add(Office.MsoControlType.msoControlPopup, 
      missing, missing, missing, true); 
     mainMenu.Caption = "Main menu"; 

     var subMenu1 = (Office.CommandBarButton)mainMenu.Controls 
      .Add(Office.MsoControlType.msoControlButton, 
      missing, missing, missing, true); 
     subMenu1.Caption = "Sub menu 1"; 
     subMenu1.FaceId = 1958; 

     var subMenu2 = (Office.CommandBarPopup)mainMenu.Controls 
      .Add(Office.MsoControlType.msoControlPopup, 
      missing, missing, missing, true); 
     subMenu2.BeginGroup = true; 
     subMenu2.Caption = "Sub menu 2"; 

     var subMenu2Button = (Office.CommandBarButton)subMenu2.Controls 
      .Add(Office.MsoControlType.msoControlButton, 
      missing, missing, missing, true); 
     subMenu2Button.Caption = "Sub menu 1"; 
     subMenu2Button.FaceId = 1958; 

     m_toolbar.Visible = true;