从未调用过 VisioIsIdle?

VisioIsIdle is never called?

何时调用 VisioIsIdle 事件?我的活动代码是否正确?因为 ToolApp_VisioIsIdle 没有被调用。我计划在满足某些条件时使用 VisioIsIdle 事件关闭应用程序。

Dim ToolApp As Visio.Application

Private Sub Document_DocumentOpened(ByVal doc As IVDocument) 
    Set ToolApp = Visio.Application
End Sub 

Private Sub ToolApp_VisioIsIdle(ByVal app As IVApplication)
    Debug.Print "Idle"
End Sub

我通过在声明变量 ToolApp 时添加 WithEvents 找到了解决问题的方法。

Dim WithEvents ToolApp As Visio.Application

Private Sub Document_DocumentOpened(ByVal doc As IVDocument) 
    Set ToolApp = Visio.Application
End Sub 

Private Sub ToolApp_VisioIsIdle(ByVal app As IVApplication)
    Debug.Print "Idle"
End Sub