确定workbookopen

时间:2015-06-09 20:55:34

标签: excel vba

有没有办法确定如何触发WorkbookOpen事件?它可以区分Windows资源管理器中的代码或鼠标单击或文件 - >开放?

我有几个带有宏的工作簿可以打开多个文件,这些文件又会触发workbookOpen事件。如果通过代码触发,我不希望触发workbookOpen事件。当我通过鼠标点击打开它时,我确实希望它能够触发。

点击

If Dir(wb.Path & "\debug.txt") <> "" Then Exit Sub 
在打开事件中

并保留一个名为“debug.txt”的空文件是不够的,因为宏打开的工作簿共享同一目录。我目前的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位。

1 个答案:

答案 0 :(得分:1)

使用Application.EnableEvents属性禁用事件,打开工作簿,然后重新打开事件。

Application.EnableEvents = False
' Open the workbooks
...
Application.EnableEvents = True