Ich habe hier eine (ziemlich komplizierte aber machbare) Lösung:
Füge zuerst in deine Form ein "Microsoft Web Browser"-Control ein (Menu Create -> Object -> Control).
Nun gibts mühe das Control zu markieren, aber du kannst es in der Objektliste (unten links) auswählen. Es sollte nun "Microsoft Web Browser (Control)" heissen. Öffne den Baum mit einem Klick auf das "+". Zuoberst ist ein Event "Properties". Klicke darauf und ändere "(Name)" von "Microsoft Web Browser" zu "wbrMain".
Füge nun im "Globals"-Teil der Form im Teil "Declarations" folgende Deklaration hinzu:
Diese Variabel wird gebraucht, damit später das Formular nur einmal versendet wird.
Füge nun im Postopen-Event der Maske folgenden Code ein:
Dim browser As Variant
Set browser = Source.GetObject("wbrMain")
firstNav = True
browser.Navigate "www.google.ch"
Dies bezweckt, dass das Control mal auf die Google-Seite navigiert.
Wähle nun wieder das Control in der Objektliste aus (ACHTUNG: Es heisst nun "wbrMain"). Suche das Event "Progresschange" (NavigateComplete2 hat bei mir nicht richtig funktioniert).
In diesem Event musst du folgenden Code einfügen:
If progress < progressmax Then
Exit Sub
End If
With source
.Document.Forms(0).q.Value = "diesistmeinsuchstring"
'.Document.Forms(0).feld2.Value = xxx
'.Document.Forms(0).feld3.Value = yyy
If firstNav Then
.Document.Forms(0).Submit
firstNav = False
End If
End With
Zuerst wird hier überprüft, ob das HTML-Dokument bereits vollständig geladen wurde, falls nicht wird noch ein weiterer Schritt gewartet. Falls das Dokument vollständig geladen wurde, füllt das Script das Textfeld mit einem String und versendet das Formular. Hier wird die Variable "firstNav" gebraucht. Falls diese nicht gesetzt wird, wird durch das "Submit" erneut ein HTML-Formular geladen und das Progresschange-Event wieder aufgerufen (Endlosschleife).
Wie die Felder im Formular heissen, kannst du im Quellcode der Dokumente entnehmen.
Am Besten machst du das Control am Ende mit einer Hide-When-Formel unsichtbar, damit die Benutzer nichts vom Prozess mitkriegen.
Grüsse
Moritz