从另一个工作簿调用macros会导致macros被跳过
我正在尝试从一个工作簿执行下面的操作(说A.xlsm
):
- 打开另一个工作簿(比如
B.xlsb
) - 从
A.xlsm
调用B.xlsb
的macros - 保存工作簿
B.xlsb
- closures工作簿
B.xlsb
以下是A.xlsm
的代码:
Workbooks.Open(Filename:=B.xlsb).RunAutoMacros Which:=xlAutoOpen Workbooks(B.xlsb).Activate Windows(B.xlsb).Activate Application.Run (B.xlsb& "!MyMacro")
以上所有的工作正常,但是一个macros( Initialize
,这是用于初始化function区对象)跳过B.xlsm
应该被加载工作簿B.xlsb
。 当我手动打开它,然后保存并closures。
我看到macros的Workbook_Open
, Workbook_Activate
和Initialize
(这是configuration在一个XML在加载时调用)按顺序调用。
但是,当我从VBA做同样的事情时, Workbook_Open
和Workbook_Activate
被调用,但是Initialize
会被跳过。
工作簿函数没有函数Initialize
。 请参阅工作簿对象