Używam kodu Excel VBA do kliknięcia przycisku na naszej stronie internetowej, zaufaj mi, wiem, że to nie jest najlepsze z rzeczy do zrobienia, ale jest to najmniej kontrowersyjna opcja dostępna dla mnie w tym czasie.Excel VBA Kontrolowanie lokalnego intranetu IE
Tak więc, ten wybór znika, oto mój problem, mogę używać tego kodu, ładować z powodzeniem imdb.com, google itp. Ale kiedy ładuję naszą lokalną stronę, tracę kontrolę nad tym obiektem, Nie mogę sprawdzić stanu gotowości, nie mogę wyjść. Oto błąd, który dostaję. Run-time error '-2147023179 (800706b5)':
błąd Automatyka Interfejs jest nieznany
Każdy tak często, że zamiast dostać tę wiadomość: Run-time error '-2147417848 (80010108)':
Błąd automatyzacji Wywołany obiekt odłączył się od klientów.
Kliknięcie Debug wskazuje ie.readyState, próbowałem również komentując, że na zewnątrz, a następnie zwraca się do ie.Quit
Sub dothestuff()
Dim ie As InternetExplorer
Set ie = New InternetExplorer
ie.Visible = True
ie.Navigate "http://www.google.com/"
anerror = webload(ie)
ie.Quit
Set ie = Nothing
End Sub
Function webload(ie)
Do Until ie.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
End Function
Dla wszystkich innych, którzy zmagają się z tego rodzaju problemami, znalazłem rozwiązanie i skompilowałem podsumowanie z przykładowymi instrukcjami [tutaj] (https://stackoverflow.com/a/45016781/3410218). Nie polega na używaniu stałego adresu IP ani na zmianie ustawień zabezpieczeń i nie ma potrzeby dołączania odniesień do niczego. To powiedziawszy, bardzo dziękuję za wszystkie uwagi i cenne sugestie - wydaje się, że to błąd w sposobie obsługi zdarzeń w IE w odniesieniu do stref bezpieczeństwa. – user3410218