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

时间:2015-09-16 18:16:43

标签: vb.net excel vsto

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

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

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

1 个答案:

答案 0 :(得分: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

祝你好运!