【发布时间】:2016-06-03 08:24:35
【问题描述】:
我目前有以下代码在新的 excel 实例中打开一个工作簿(打开的工作簿有一个 on open 宏)。
但是,当代码在新实例中运行时,这也会占用现有的 excel 实例,并且只有在工作簿打开宏运行后才会释放它。有没有办法在新实例中打开 excel 并分离/停止立即从现有工作簿中获取代码?
请看下面的代码。
Sub OpenWBInNewInstance()
Dim xApp As Excel.Application
Set xApp = New Excel.Application
xApp.Visible = True
Dim wb As Excel.Workbook
Set wb = xApp.Workbooks.Open("Z:\MI\Not Purchased Detail\Not Purchased Detail Disposal Marketing Template.xlsb")
End Sub
【问题讨论】:
-
不。 VBA 不能在多个线程上运行,因此只有在完成整个“打开”事件后才会将执行返回到此代码。我知道解决这个问题的唯一方法是将命令输出到 VBS 文件和 shell,而不是
-
您想要举办公开赛吗?如果没有,请在打开工作簿之前禁用事件?