确定工作簿打开的触发器
有没有办法确定如何触发WorkbookOpen事件? 它可以区分之间的代码或鼠标点击在Windows资源pipe理器或文件 – >打开?
我有几个工作簿与打开多个文件,然后触发workbookOpen事件的macros。 如果通过代码触发,我不希望workbookOpen事件触发。 当我通过鼠标点击打开它们时,我确实希望它被触发。
把类似的东西
If Dir(wb.Path & "\debug.txt") <> "" Then Exit Sub
在打开的事件中保留一个名为“debug.txt”的空文件是不够的,因为macros打开的工作簿共享相同的目录。 我目前的workbookOpen事件如下。
Private Sub AppEvent_WorkbookOpen(ByVal wb As Excel.Workbook) If wb.VBProject.Protection <> 1 Then Exit Sub End If Call unlockVBA(wb) End Sub
也许有这个API? 我在64位。
使用Application.EnableEvents
属性来禁用事件,打开工作簿,然后再次打开事件。
Application.EnableEvents = False ' Open the workbooks ... Application.EnableEvents = True