我对Excel.Application的工作原理感到非常困惑。
假设我有以下代码:
Dim xlApp As New Excel.Application
Dim xlWbs As Excel.Workbooks
Dim xlWb As Excel.Workbook
xlWbs = xlApp.Workbooks
xlWb = xlWbs.Open("C:\Users\OPA\Desktop\Outage Macro Project Folder\Customized Outage Macro for Testing.xlsm") 'consider this to be wb1
xlApp.visible = true
xlApp.Run(A macro that creates another workbook wb2) 'this creates another workbook wb2
为什么我写下来的时候:
xlApp.Quit()
Wb1和Wb2都被终止了吗?但我没有明确设置Wb2和xlApp之间的引用! xlApp是如何成为Wb2的父代的?
如何设置在创建后明确引用Wb2的excel引用? (即xlNewWb = xlApp.workbooks(wb2)'这不起作用)所以当我说xlApp.quit()时,wb2不会停止存在?
谢谢!
答案 0 :(得分:3)
xlApp是如何成为Wb2的父级的?
这一行:
xlApp.Run(A macro that creates another workbook wb2)
在xlApp
。
如何设置一个在创建后明确引用Wb2的excel引用,[...]这样当我说xlApp.quit()时,wb2不会停止存在?
创建Excel.Application
的第二个实例并在那里执行宏。