如何使用VSTO将项目添加到Excel菜单?

我正在开发一个使用VB.NET的Excel加载项。 在这个插件中,我创build了一个新的function区,在这个function区中将会有一个Excel工作簿的菜单,菜单的每一行都应该有一个工作簿工作表的子菜单(正在检索这些文件名,path和表单来自DB)。

我有问题试图插入这些工作簿作为菜单项。 我创build了一个DAL来检索我需要和testing的所有数据,它的工作原理,我的问题是添加工作簿列表的每个元素。 任何build议,欢迎。

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 

我使用一个button将工作表加载到function区中的combobox中…同样,您也可以检查工作簿。
请参考下面的内容:

 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 

祝你好运!