奇怪的列表框填充问题;列表框不会填充

时间:2013-09-13 17:05:23

标签: vba listbox automation userform

我有一个奇怪的问题。以下是背景:我正在从另一个应用程序自动化excel。我创建了一个名为“WorkbookSelection”的用户窗体,在该窗体上我放置了一个Listbox控件,我将其命名为“WorkbookList”,并命名为“SelectionComplete”命令按钮。

在显示表单之前我已经确定excel是打开的,列表框的目的是在excel中显示打开的工作簿,以便用户可以选择一个从中导入数据并将新数据导出到。

以下是我试图用来填充列表框的代码:

Private Sub WorkbookSelection_Initialize()

Dim ExcelAp                 As Excel.Application
Dim FedExWkbk               As Excel.Workbook
Dim OpenedWorkbooks         As Excel.Workbooks
Dim i                       As Integer

Set ExcelAp = Excel.Application
Set OpenedWorkbooks = ExcelAp.Workbooks

For Each FedExWkbk In OpenedWorkbooks
    WorkbookList.AddItem FedExWkbk.Name
Next FedExWkbk

End Sub

我也试过

Private Sub WorkbookSelection_Activate()

Private Sub UserForm_Initialize()

虽然没有运气。如果有人有任何建议,我会全力以赴。

1 个答案:

答案 0 :(得分:0)

好的,我在这里找到了解决方案。在通过sub后,我注意到它没有在开放的工作簿中循环,所以有一些问题,它没有抓住正确的excel实例,但仍然没有创建它自己的。因此,我修改了一行到后期绑定:

Set ExcelAp = Excel.Application

Set ExcelAp = GetObject(, "Excel.Application")

瞧瞧它有效。我以为我会留在这里给未来可能找到这种情况答案的人。