excel - 在 VBA 中的特定 excel 实例中调用 excel 宏
问题描述
我在 32 位 Excel 365 中收到资源不足错误(64 位解决了这个问题,但我们的 IT 不允许使用这本书的用户数量,所以我坚持使用 32 位) . 我有足够的内存,所以我试图将两个工作簿分成不同的实例以允许更多的内存分配(如果这是一个糟糕的策略,我很乐意知道为什么/替代方案!)。
我的设置有两个工作簿,工作簿 A 打开工作簿 B,工作簿 B 运行繁重的代码,然后将数据以值格式传输回工作簿 A。
Excel 实例 1:工作簿 A
Excel 实例 2:工作簿 B
我希望 WkbA(在 Excel 实例 1 中打开)调用在 Excel 实例 2 中打开的 WrkB 上的宏。我编写了下面的代码来尝试这个。
Dim WkbB As Object
Set WkbB = New Excel.Application
With WkbB
.Visible = True
.Workbooks.Open "P:\Root\WorkbookB.xlsm", True, False
End With
Application.Run "'WkbB.xlsm'!Main"
在“结束于”行,代码根据需要在两个单独的 Excel 实例中打开 WkbA 和 WrkB
Excel 实例 1:WrkA
Excel 实例 2:WrkB
但是在 Application.Run 行,excel 在实例 1 中再次打开 WrkB
Excel 实例 1:WrkA 和 WrkB
Excel 实例 2:WrkB
而不是调用实例 2 WorkbookB 中的 Main 子例程。
解决方案
改变
Application.Run "'WkbB.xlsm'!Main"
至
WrkB.Run "'WorkbookB.xlsm'!Main"
推荐阅读
- python - 如何去除python pyqt5滚动条中的透明性
- node.js - 如何使用服务帐户访问 GSuite 电子邮件帐户的 GMAIL API
- python - 如何使用 matplotlib 使文本居中?
- php - PEAR 错误 + Open Server 和 Opencart 项目
- javascript - Mousedown 和 mouseup 同时以角度触发
- c# - 客户端和主机应用程序之间通过 Internet 进行 C# 低延迟通信
- java - Java Immutables Polymorphism - 如何使生成的类扩展另一个类?
- c# - 如何在 ASP.NET MVC5 的视图模型中进行字符串“不喜欢”验证?
- python - 使用 Python Cryptography 模块递归加密
- python - 全局变量未在 django 中定义