Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: IE-Webformular ausfüllen (Formularfeld ohne ID)

IE-Webformular ausfüllen (Formularfeld ohne ID)
Martin
Hallo liebe Excelfreunde,
ich versuche per Excel ein Webformular auszufüllen, allerdings gelingt mir das nicht vollständig. Wie kann ich auf ein Formularfeld zugreifen, wenn dieses nicht mit einer ID definiert ist (...und somit nicht mit appIE.Document.getElementById angesprochen werden kann)?
Es geht speziell um das Feld "Anrede" auf folgender Homepage:
http://laufkalender.markenverlag.de/aktivlaufen-anmeldung-webseite.php
Hier mein - nicht funktionierender - Code:
Sub Webformular()
Dim appIE As Object
Set appIE = CreateObject("InternetExplorer.application")
Do While appIE.Busy 'Warten bis IE komplett geladen
Loop
appIE.Visible = True
appIE.Navigate "http://laufkalender.markenverlag.de/aktivlaufen-anmeldung-webseite.php"
While Not appIE.ReadyState = 4 'Warten bis Site komplett geladen
'Debug.Print appIE.ReadyState
Wend
'Formularfelder ausfüllen
appIE.getElementsByName("anrede").Value = "Herr" 'führt zu Laufzeitfehler 438 (Objekt  _
unterstützt diese Eigenschaft oder Methode nicht)
Für Vorschläge wäre ich sehr dankbar!
Viele Grüße
Martin
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: IE-Webformular ausfüllen (Formularfeld ohne ID)
12.01.2012 22:24:51
Josef

Hallo Martin,
das Feld hat eine ID "ansprechpartner".

« Gruß Sepp »

Anzeige
...aber das war nicht die Frage
12.01.2012 22:36:19
Martin
Hallo Sepp,
das Feld "Ansprechpartner" kann ich ja auch ansprechen (weil das Formularfeld eine ID hat), aber das Feld "Anrede" verfügt leider über keine ID.
Viele Grüße
Martin
...jetzt verstehe ich was du meinst, aber...
12.01.2012 22:45:36
Martin
Hallo Sepp,
die id mit der Bezeichnung "Ansprechpartner" gibt es nicht. Die Zeile ist nur als Kommentar im HTML-Code (mit und - - > quasi deaktiviert.) Sonst gäbe es zwei veschiedene Formularfelder (Select und Input) mit den gleichen Namen.
Viele Grüße
Martin
Anzeige
Lösung selbst gefunden
14.01.2012 11:30:32
Martin
Hallo,
es hat zwar eine Weile gedauert, aber ich habe das Problem mit Hilfe einer Function lösen können:
Function SetSelect(s, val) As Boolean
Dim x As Integer
Dim r As Boolean
r = False
For x = 0 To s.Options.Length - 1
If s.Options(x).Text = CStr(val) Then
s.selectedIndex = x
r = True
Exit For
End If
Next x
SetSelect = r
'Fehler erzeugen
If r = False Then Err.Raise Number:=vbObjectError, Description:="'" & val & "' ist kein gü _
ltiger Value-Wert vom Select-Formularfeld '" & s.Name & "'."
End Function
Aufgerufen wird die Funktion mit:
Call SetSelect(appIE.document.all.anrede, "Herr")
....wobei in der Funktion die Fehlermeldung deaktiviert werden könnte und auch folgender Aufruf möglich wäre:
If Not SetSelect(.anrede, "Herr") Then MsgBox "Select Option-Wert nicht gefunden!"
Viele Grüße
Martin
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige