Webbrowsercontrol + Textfeld in Webformular ausfüllen

15/01/2008 - 04:11 von Stefan Buschmann | Report spam
Hallo zusammen,

ich versuche in meiner Anwendung auf einer Webseite wie z.B. google das
einzige Textfeld auszufüllen. Ich habe schon alles mögliche an Code
probiert ich komme einfach nicht weiter. Wie kann ich das machen ohne
zu wissen wie im HTML Code das Textfeld heist? An HTML Source werfen
Seiten wie google ja nicht viel aus. Das liegt an den Frames oder?

Ich bin auf folgender Seite:
http://www.old.awzhome.de/vb.php?co...stp&id

auf die Möglichkeit gestoßen die Felder auslesen zu lassen und mir in
einer Listbox die Felder auszugeben. Leider verstehe ich nicht wie ich
den Code dafür anwenden soll.

Auszug aus der Seite:
-
Wie schon gesagt, müssen Sie dabei von vornherein wissen, welches
Formular in der Seite das richtige ist und welches Formularfeld hier
ausgefüllt werden muss. Doch angenommen, Sie möchten dem Anwender die
Auswahl dieser Daten überlassen. Dann können Sie ihm z.B. eine Liste
aller Formulare und der dort enthaltenen Felder pràsentieren. Die
Formulare lassen sich dabei so aufzàhlen:

Dim objForm As Object
For Each objForm In WebBrowser1.Document.forms
'Eine Aktion für das Formular, z.B. Eintrag in einem Listenfeld
Next

Haben Sie auf diese Weise einen Verweis auf ein Formular erhalten,
können Sie mit folgendem Code die einzelnen Felder dieses Formulars
durchlaufen:

Dim objFormElement As Object
'Es wird angenommen, dass in der Variablen objForm der Verweis
'auf das behandelte Formular liegt (siehe vorhergehenden Code)
For Each objFormElement In objForm.elements
'Beispiel: Name des Feldes in ein Listenfeld eintragen
If objFormElement.name <> "" Then _
List1.AddItem objFormElement.name
Next

So erhalten Sie Zugriff auf alle Feldnamen, die Sie dann wiederum beim
Ausfüllen verwenden können, wie es weiter oben im Beitrag erklàrt
wurde.

Also habe ich testweise eine Listbox auf der Form platziert und in
einen
CommandButton den obigen Code eingefügt. Leider bekomme ich die
Fehlermeldung:

Laufzeitfehler '91' Objektvariable oder With-Blockvariable nicht
defeniert.

Beim debuggen wird dann folgende Zeile markiert:

For Each objFormElement In objForm.elements

Aber "objFormElement" ist doch defeniert. Was mache ich falsch?

- # Gruss Stefan # -

hAS aNYOne seEEn mY cAPsLoCk KeY?
 

Lesen sie die antworten

#1 Stefan Buschmann
15/01/2008 - 23:07 | Warnen spam
Hallo,

zum besseren Verstàndniss was ich zuletzt versucht habe:

Private Sub Form_Load()

' Seite laden
bLoaded = False
WebBrowser1.Navigate "http://www.google.de"

' Warten, bis Webseite vollstàndig geladen wurde
Do While Not bLoaded
DoEvents
Loop

End Sub

und dann:

Private Sub cmdText_Click()

On Error GoTo ErrHandler
WebBrowser1.Document.Forms(0).elements(0).Value = "Irgendein Text"

ErrHandler:
MsgBox "Es ist ein Fehler aufgetreten." & vbCrLf & _
"Evtl. existiert das angegebene Formular oder eines der " & _
"angegebenen Eelemente nicht.", vbExclamation

End Sub

- # Gruss Stefan # -


hAS aNYOne seEEn mY cAPsLoCk KeY?

Ähnliche fragen