我正在寻求澄清“新”对对象和脚本的影响。
我的理解是,如果我需要对 Excel 文档执行操作并且应用程序已关闭,那么我应该使用 New Excel.Application。
如果我保持此应用程序处于活动状态(例如通过工作簿之类的对象)并且稍后在脚本中我决定打开另一个工作簿,我应该仍然使用 New Excel.Application 还是使用 Excel.Application 会更好?
我担心的是我要编写一个长脚本,该脚本将在至少 5 个工作簿上执行操作。我将不得不从一个工作簿切换到另一个工作簿,然后再回到前一个......
如果每次脚本创建一个新的 Excel.Application,我最终可能会运行很多它们,我担心这种混乱会产生问题。
写这样的东西是否更合适:
Dim NxlApp as New Excel.Application
Dim xlApp as Excel.Application
NxlApp.Workbooks.Open "C:\Users\...\WorkbookA.xlsx"
NxlApp.Visible = True
'Perform actions on WorkbookA (keep it open)
Set ExcelApp = GetObject("", "Excel.Application.14")
xlApp.Workbooks.Open "C:\Users\...\WorkbookB.xlsx"
xlApp.Visible = True
'Perform actions on WorkbookB (keep it open)
'Go back to WorkbookA (using the xlApp variable this time)
xlApp.Workbook("A.xlsx")...