Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Webformular der ENBW ausfüllen

Webformular der ENBW ausfüllen
22.03.2019 22:23:00
Juergen
Hallo,
jahrelang hat das letzte Webformular der ENBW funktioniert. S.h. https://www.herber.de/forum/archiv/1340to1344/1340774_Webformular_der_ENBW_ausfuellen.html
Jetzt hat mal wieder die ENBW das Webformular umgebaut und mein Excel funktioniert nicht mehr. Kann mir hier vielleicht wieder jemand auf die Sprünge helfen? Das letzte VBA von Martin hat super funktioniert und kann gerne als Vorlage benutzt werden.
Gruß
Jürgen
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Webformular der ENBW ausfüllen
23.03.2019 14:35:51
Matthias
Moin!
Auf welcher Seite willst du den was eintragen? Habe auf der ENBW Seite keine (UNter)Seite zur Zählerstandsübermittlung gesehen. Das geht wohl nur, wenn man angemeldet ist. Falls dem so ist, wäre es nett, wenn du mal den Quellecode der Seite in einer txt Datei postest (nicht jeder hat dort ein Konto :-) )
VG
Anzeige
AW: Webformular der ENBW ausfüllen
23.03.2019 14:48:27
Juergen
Hallo Matthias,
die Seite ist https://www.netze-bw.de/zaehlerstandseingabe#/
Wenn ich mal den Ansatz habe wie ich das weiter machen kann, dann hoffe ich das es für mich kein Problem ist hier weiter zu machen.
Danke schon mal.
Gruß
Jürgen
AW: Webformular der ENBW ausfüllen
23.03.2019 18:59:45
Matthias
Moin!
ALso kann es derzeit leider nicht testen, da mein IE abgeschossen ist. Wenn du es selber probieren willst, dann schau mal im IE was die Elemente für eine ID, Namen oder Klasse haben. Die kannst du dann gezieht ansprechen bzw. auswerten. Habe mal im FF geschaut, könnte aber sein, dass da im IE was anderes steht. Wenn das geklappt hat, musst du den Schalten drücke lassen. Habe da mal 2 Beispiele, weiß aber nicht, ob die gerade klappen. Danach sollte wieder eine neue Seite kommen (da müsste man aber Kunde sein). Dort dann ähnlich vorgehen. Hier also mal ein Codebeispiel. Weiß aber nicht, ob das fehlerfrei funktioniert. Habe deshalb den Thread mal offen gelassen.
Sub EnBW_Webformular()
Dim appIE As Object
Dim schalter
Set appIE = CreateObject("InternetExplorer.application")
Do While appIE.Busy 'Warten bis IE komplett geladen
Loop
appIE.Visible = True
appIE.navigate "https://www.netze-bw.de/zaehlerstandseingabe#/"
While Not appIE.readyState = 4 'Warten bis Site komplett geladen
Wend
'Formularfelder ausfüllen
With appIE.document
.getElementByID("textfield__012c7b64-4531-7ea5-7741-34e8da86a0d8__input").Value =  _
Sheets("Vertragsdaten").Range("VKontonummer")
.getElementByID("textfield__cc067500-0cb6-44b4-ede5-5329030fe6e9__input").Value =  _
Sheets("Vertragsdaten").Range("Zaehlernummer")
Set schalter = .getElementsByClassName("nd-btn nd-btn-main pull-right")(0)
schalter.Click
'schalter.FireEvent ("onkeydown")
End With
While Not appIE.readyState = 4 'Warten bis Site komplett geladen
'Debug.Print appIE.ReadyState
Wend
End Sub

VG
Anzeige
AW: Webformular der ENBW ausfüllen
25.03.2019 06:43:42
Juergen
Hallo Matthias,
leider hat dies nicht funktioniert. Die ID wird bei jedem Aufruf der Webpage neu erstellt. D.h. man müßte dann wahrscheinlich vorher her gehen und die ID einlesen. Wie könnte ich das machen? ich habe auch mal versucht über die Variablen refNumber und meterNumber die Felder zu beschriften, das geht zwar aber sobald der Button gedrückt wird dann bringt er "keine Vertragsdaten und Zählerdaten eingegeben" weil er scheinbar die Daten nicht in die Variablen einträgt. Hier habe ich auch mal 2 Dateianhänge mit dem Code aus dem IE.
Userbild
Userbild
Anzeige
AW: Webformular der ENBW ausfüllen
25.03.2019 09:09:14
Juergen
Hallo Matthias,
ich habe etwas herum probiert und folgenden Code erhalten.
Private Sub ENBW_Click()
'ThisWorkbook.FollowHyperlink "https://www.enbw.com/ablesung"
Dim appIE As Object
Set appIE = CreateObject("InternetExplorer.application")
Do While appIE.Busy 'Warten bis IE komplett geladen
Loop
appIE.Visible = True
appIE.navigate "https://www.netze-bw.de/zaehlerstandseingabe#/"
While Not appIE.readyState = 4 'Warten bis Site komplett geladen
Wend
'Formularfelder ausfüllen
With appIE.document
.getElementbyid(.getElementsByName("refNumber").Item().ID).Value = Sheets(" _
Vertragsdaten").Range("VKontonummer")
.getElementbyid(.getElementsByName("meterNumber").Item().ID).Value = Sheets(" _
Vertragsdaten").Range("Zaehlernummer")
Set schalter = .getElementsByClassName("nd-btn nd-btn-main pull-right")(0)
schalter.Click
End With
While Not appIE.readyState = 4 'Warten bis Site komplett geladen
'Debug.Print appIE.ReadyState
Wend
End Sub
Nun trägt er zwar die Vertragskontonummer und die Zählernummer in die richtigen Felder ein, jedoch wenn ich jetzt den Button betätige, erfolgt wieder das gleiche wie vorher. Siehe Bild:
Userbild
Anzeige
AW: Webformular der ENBW ausfüllen
27.03.2019 08:59:08
Matthias
Moin!
Wie gesagt, kann es grad nicht beim mir am IE testen. Wenn du mittels Excel die Werte einträgst und dann wieder manuelle auf den Button klickst,kommt dann auch der Fehler? Wenn ja, probiere mal, mit Excel die Werte eintragen, dann manuell nochmal die Felder anklicken und dann auf den Button. Geht das? Das soll nur zur Fehlersuche bzw. zur Suche, wie man es umgehen kann dienen.
Falls letztes klappt (ist nur eine Idee), probiere mal mit set jeweils ein Fenster zuzuweisen und dann auf die Variable ein Event zu starten bspw.
schalter.FireEvent ("onkeydown")
Weiß nicht ob das hilft (es ist ja kein Event Ersichtlich) aber evtl. "denkt" der IE, dass du Vorher das Feld angeklickst hast.
Ansonsten noch ein Hinweis. Anstelle des doppelten getelemetsby, kann du auch gleich einmal über den KLassennamen bzw. den Elementnamen gehen.
.getElementsByName(name)
.getElementsByClassName(name)
Solltest vorher nur prüfen, ob der Namen doppelt vorkommt. Dann mit (1) etc. am Ende arbeiten.
VG
Anzeige
AW: Webformular der ENBW ausfüllen
01.04.2019 09:34:55
Juergen
Hallo Matthias,
leider hat keiner Deiner Vorschläge etwas gebracht. Aber vielleicht liest jemand anderes noch mit und kann mir sagen wo der Hase begraben ist und könnte mir vielleicht mit dem IE weiter helfen,
Gruß
Jürgen
;

Forumthreads zu verwandten Themen

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