2015-09-16 2 views
1

Я разрабатываю надстройку Excel с помощью VB.NET. В этой надстройке я создаю новую ленту, и внутри этой ленты будет меню книг Excel, и каждая строка меню должна иметь подменю для рабочих листов рабочих книг (имена файлов, пути и листы извлекаются от БД).Как добавить элемент в меню Excel с помощью VSTO?

У меня проблемы с вставкой этих книг в качестве элементов меню. Я создал 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

Я использую кнопку, чтобы загрузить рабочие листы, чтобы Combo коробки на ленте ... Таким же образом, вы можете проверить для книг, а также.
смотрите ниже:

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 

удачи!

Смежные вопросы