我有一个奇怪的问题。以下是背景:我正在从另一个应用程序自动化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()
虽然没有运气。如果有人有任何建议,我会全力以赴。
答案 0 :(得分:0)
好的,我在这里找到了解决方案。在通过sub后,我注意到它没有在开放的工作簿中循环,所以有一些问题,它没有抓住正确的excel实例,但仍然没有创建它自己的。因此,我修改了一行到后期绑定:
Set ExcelAp = Excel.Application
到
Set ExcelAp = GetObject(, "Excel.Application")
瞧瞧它有效。我以为我会留在这里给未来可能找到这种情况答案的人。