使用excel 2007我编写了一个宏,我想从Workbook_Open()调用开始(放在“thisWorkbook”中)。
只要这是一个新的“excel-session”就可以正常工作,因此它与xlsm-file /我一起启动excel并加载文件。
但是,只要excel已经运行,就不会执行Workbook_Open()函数。只要我在加载工作簿后手动启动它,宏仍然可以正常工作。
澄清一下:即使没有其他工作簿打开,只有excel也会发生这种情况,所以我确信没有其他计算可能会干扰Workbook_Open()调用(大部分时间都是如此)。
(excel 2003似乎也存在问题: Excel Workbook Open Event macro doesn't always run)
如果有任何提示如何在任何情况下调用我的宏,我将不胜感激! (因为我的用户大多数时候已经在启动我的文件时表现出色并且正在运行) 感谢
答案 0 :(得分:2)
您可以创建一个全局bool变量,并在workbook_open中设置一个值为真。
在验证变量值
之后'In Module
Global BoolCheck As Boolean
Sub CheckValue()
'Verify if Workbook_Open Event is called
If BoolCheck = False Then
'case not call the
ActiveWorkbook.Workbook_Open
End If
End Sub
'in Workbook Object
Public Sub Workbook_Open()
BoolCheck = True
End Sub
[]的