2015-09-16 64 views
1

我正在开发一个使用VB.NET的Excel加载项。在此加载项中,我创建了一个新的功能区,在此功能区中将出现一个Excel工作簿菜单,并且菜单的每一行都应该具有工作簿工作表的子菜单(正在检索这些文件名,路径和表单来自DB)。如何使用VSTO将项目添加到Excel菜单?

我在尝试将这些工作簿插入为菜单项时出现问题。我创建了一个DAL来检索我需要和测试的所有数据,它工作正常,我的问题是添加Workbook列表的每个元素。欢迎任何建议。

Public Class Ribbon1 
    Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load 
     Dim listaWorkbooks As New List(Of Workbook) 
     Dim serviceExecuta As New ServiceExecuta 

     listaWorkbooks = serviceExecuta.BuscaWorkbooks() 

     For Each Workbook In listaWorkbooks 

      Menu1.Items.Add(Workbook.getNome) 
     Next 

    End Sub 
End Class 

回答

0

我用一个按钮加载工作表中组合框的丝带...... 同样的方式,你可以检查工作簿也是如此。
请参阅如下:

Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button19.Click 
    ComboBox1.Items.Clear() 
    Dim rdi As RibbonDropDownItem 
    Dim i As Integer 
    Dim nm() As String 
    For i = 1 To Globals.ThisAddIn.Application.Sheets.Count 
     ReDim nm(i) 
     nm(i) = Globals.ThisAddIn.Application.Sheets(i).Name 
     rdi = Globals.Factory.GetRibbonFactory().CreateRibbonDropDownItem() 
     rdi.Label = nm(i) 
     ComboBox1.Items.Add(rdi) 
    Next i 
End Sub 

可能是你可以尝试这样的事:

 For i = 1 To Globals.ThisAddIn.Application.Workbooks.Count 
      ReDim nm(i) 
      nm(i) = Globals.ThisAddIn.Application.Workbooks(i).Name 
      rdi = Globals.Factory.GetRibbonFactory().CreateRibbonDropDownItem() 
      rdi.Label = nm(i) 
      ComboBox1.Items.Add(rdi) 
     Next i 

祝您好运!

相关问题