我正在尝试在Excel VBA中处理导航完成事件(ie_NavigateComplete2),当网站不在IE安全设置的本地Intranet或受信任的站点中时,会调用此事件,
这里是代码:
Option Explicit
Dim WithEvents ie As InternetExplorer
Sub start_here()
Set ie = New InternetExplorer
ie.Visible = True
ie.Navigate "https://www.example.com"
While ie.busy
DoEvents
Wend
End Sub
Private Sub ie_NavigateComplete2(ByVal pDisp As Object, url As Variant)
' this is not called if "https://www.example.com" is in trusted or local sites in IE security setting
MsgBox "navigatecomplete2"
End Sub
如何解决这个问题?
我在网站位于本地Intranet时转载了该问题。但是,当网站位于“受信任的网站”中时,它会很好地工作。我搜索了此问题,但找不到原因。
您可以使用DocumentComplete Event作为解决方法。当文档完全加载并初始化时会触发。可以使用本地Intranet和受信任的站点触发它:
Private Sub ie_DocumentComplete(ByVal pDisp As Object, URL As Variant)
MsgBox "documentcomplete"
End Sub