我有一个简单的VB应用程序,允许用户通过勾选框选择要生成的多个接口。
我正在遍历勾选的条目,对于每个条目,我正在创建一个Excel实例并在工作簿中执行相应的宏。
我希望在后台为每个选中的条目生成Excel实例。目前,我必须等待每个Excel实例运行,然后才能处理下一个。
非常感谢您的帮助。
以下是代码摘录:
MsgBox("Starting")
parmExcelAppName = "..{Pathname}\Data Extract v1.4.xlsm"
xlapp = CreateObject("Excel.Application")
xlbook = xlapp.Workbooks.Open(parmExcelAppName)
xlapp.Application.Visible = True
xlapp.Visible = False
parmWorksheetName = "CURRENCY_RATE"
parmWorksheetOutputSaveName = "C:\Users\pete05\Downloads\Interfaces"
parmApplyFilter = "False"
parmRunMode = "REFRESH"
parmAddColumnHeadings = "True"
parmEmailRecipients = "someone@companyname.com"
xlapp.Application.Run("MOD00_RUNMODE.Run_BatchMode ", _
"" & parmWorksheetName & "", _
"" & parmWorksheetOutputSaveName & "", _
"" & parmApplyJDAFilter & "", _
"" & parmRunMode & "", _
"" & parmAddColumnHeadings & "", _
"" & parmEmailRecipients & "")
xlapp.Quit()
MsgBox("Finished")
理想情况下,“开始”和“完成”消息几乎会立即显示,Excel片段会被推入后台。然后我会重复下一个勾选的条目。
答案 0 :(得分:0)
我只能在这个阶段建议你尝试这个。我不知道它是否会奏效。我怀疑即使打开这样的多个文件也会在同一个Excel实例中打开它们。
excel.exe "c:\book1.xlsx"
命令使用命令行(即Shell
)打开excel文件。这真的只是在黑暗中刺伤。我读过的所有内容都表明这不会起作用,也不会起作用。为了使这个可靠,您需要从MOD00_RUNMODE.Run_BatchMode
获取代码。如果它只是调用一个Web服务或者从数据库中读取,那么你应该能够在Excel之外重现它并在饲喂系统允许的情况下并行运行它。