Excel ie_NavigateComplete2 не вызывается, если сайт находится на локальных или доверенных сайтах - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь обработать событие завершения навигации (т.е._NavigateComplete2) в Excel VBA, оно вызывается, когда веб-сайт не находится в Local Intr anet или в надежных сайтах IE Настройки безопасности, но не иначе.

enter image description here

вот код:

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

Как обойти эту проблему?

1 Ответ

0 голосов
/ 10 апреля 2020

Я воспроизвел проблему, когда веб-сайт находится в локальной сети anet. Но это хорошо работает, когда сайт находится на доверенных сайтах. Я ищу проблему, но не понимаю, почему это происходит.

Вы можете использовать DocumentComplete Event в качестве обходного пути. Он срабатывает, когда документ полностью загружен и инициализирован. Может запускаться как с локального номера anet, так и с доверенных сайтов:

Private Sub ie_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    MsgBox "documentcomplete"
End Sub
...