Hallo Oelkanne,
Ich hoffe noch, dass bis zum endgültigen Ende andere Möglichkeiten gibt.
Gibt's jetzt schon, aber - beispielsweise - Cef ist deutlich schwieriger zu benutzen.
0x800A01B6 bedeutet, dass ein Objekt eine Methode oder eine Eigenschaft nicht kennt. Die Frage ist, was genau er da nicht kennt, das sieht man dem Stack nicht an.
Versuch mal, mit dem Debugger einzelschrittweise durchzugehen. Wenn in der Zeile, wo es schiefgeht, mehrere Interaktionen mit MSHTML durchgeführt werden, wie z.B. hier:
IEApp.Document.createEvent("HTMLEvents")
dann guck ob Du über Inspektor rauskriegen kannst, welcher der Teile schiefgeht. Im Zweifelsfall nimm die Zeile auseinander und speichere die Teilergebnisse in Variablen.
Eins ist auf jeden Fall klar: Wenn die Seite neu geladen wurde, ist das bisherige Dokument ungültig. Ein zwischengespeicherter Wert von IEApp.Document darf nicht mehr verwendet werden.
Und wie bei der Initialisierung musst Du nach einem Reload der Seite darauf achten, dass die Navigate-Operation abgeschlossen ist. Navigate startet eine asynchrone Operation. Sleep(1000) ist aber schon ziemlich lang. 100ms pro Wartezyklus reicht und erhöht die Schwuppdizität der Anwendung deutlich.
Rolf
sumpsi - posui - obstruxi