从另一个工作簿调用macros会导致macros被跳过

我正在尝试从一个工作簿执行下面的操作(说A.xlsm ):

  1. 打开另一个工作簿(比如B.xlsb
  2. A.xlsm调用B.xlsb的macros
  3. 保存工作簿B.xlsb
  4. 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_OpenWorkbook_ActivateInitialize (这是configuration在一个XML在加载时调用)按顺序调用。
但是,当我从VBA做同样的事情时, Workbook_OpenWorkbook_Activate被调用,但是Initialize会被跳过。

图像显示在B.xlsb中初始化宏

工作簿函数没有函数Initialize 。 请参阅工作簿对象