Excel工作簿打开事件宏并不总是运行

Sco*_*tSM 8 excel events vba excel-2003

我有一个Workbook_Open事件宏(并且它在ThisWorkbook中)并不总是运行.

  • 如果Excel已关闭,我从Windows资源管理器中双击.xls文件,它会运行.
  • 如果我从开始/程序启动Excel(没有.xls文件),然后打开该文件,它会运行.
  • 如果我已经在Excel中打开文件,但随后关闭文件(保持Excel打开)并重新打开它,则宏不会运行.

我已将安全性设置为中等,并且只要它打开就会启用宏.

每当我打开它时,我需要做什么才能让宏运行,而不仅仅是第一次进行此Excel会话?

(顺便说一句,这是Excel 2003)

Lan*_*rts 4

我认为这是关于这个问题最有说服力的文章(这是一个长期存在的从未解释过的 Excel 表现出的完全不稳定的错误)。(死链接)

简而言之,在许多情况下,这是由于工作簿在打开时尝试计算内容而导致的计时问题,这会妨碍 Workbook_Open 事件。测试您的方法以查看是否适合这种情况,是首先重命名单元格调用的任何 UDF 或宏,以便它们不会被调用,然后查看是否会改变任何内容。