Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1732to1736
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA automatsch einloggen

VBA automatsch einloggen
12.01.2020 11:35:48
MarC
Morgen alle zusammen,
ich suche gerade nach einer Möglichkeit per Button eine Website aufzurufen auf der ich mich dann automatisch einlogge. Im Internet habe ich auch schon was gefunden aber beim testen öffnet sich nur die Internetseite und in Excel erhalte ich den Laufzeitfehler 424. Wohlmöglich liegt es daran dass das Eingabefenster nicht Nachname lautet sondern irgendwie anders. Aber wie finde ich heraus wie die beiden Fenster heißen? Es muss sich doch wie eine Textbox verhalten die einen Namen hat und die dann automatisch die Daten geschrieben werden sollen. Kann mich bitte jemand erleuchten =)
Public Sub loggen()
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.navigate "https://login.xing.com/"
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Set IEDocument = IEApp.document
Do: Loop Until IEDocument.ReadyState  4
IEDocument.getElementByID("Nachname").Value = "Mustermann"
IEDocument.getElementByID("Passwort").Value = "12345"
IEDocument.getElementByID("OK").Click
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Set IEDocument = IEApp.document
Do: Loop Until IEDocument.ReadyState  4
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA automatsch einloggen
12.01.2020 12:59:16
volti
Hallo Marc,
versuch es mal damit:
Public Sub loggen()
  Set IEApp = CreateObject("InternetExplorer.Application")
  IEApp.Visible = True
  IEApp.navigate "https://login.xing.com/"
  Do: Loop Until IEApp.Busy = False
  Do: Loop Until IEApp.Busy = False
  Set IEDocument = IEApp.document
  Do: Loop Until IEDocument.ReadyState <> 4
  IEDocument.getElementsByname("username")(0).Value = "Mustermann"
  IEDocument.getElementsByname("password")(0).Value = "12345"
  IEDocument.getElementsBytagname("button")(2).Click
  Do: Loop Until IEApp.Busy = False
  Do: Loop Until IEApp.Busy = False
  Set IEDocument = IEApp.document
  Do: Loop Until IEDocument.ReadyState <> 4
End Sub
viele Grüße
Karl-Heinz

Anzeige
AW: VBA automatsch einloggen
12.01.2020 13:18:16
MarC
Hi Karl, jetzt meckert Excel nicht mehr aber auf der Internetseite heißt es das meine Zugangsdaten falsch eingegeben wurden. Wenn ich diese handisch eingebe funktioniert es. Kann es vielleicht an den Daten liegen? Ich muss ja keinen Usernamen eingeben sondern eine Email Adresse oder meine Handynummer. Und mein Passwort enthält Sonderzeichen. Ich bin eigentlich davon ausgegangen das die Werte normal übertragen werden, aber vielleicht liegt es ja an den Zeichen $@.#
AW: VBA automatsch einloggen
12.01.2020 13:41:56
volti
Hallo Marc,
warum der Zugang nicht funktioniert kann ich Dir leider nicht sagen.
Die Aufgabe bestand darin, die beiden Felder auszufüllen und den Button zu klicken, was die o.g. Funktion erledigt.
Die beiden Input-Felder haben keine ID, deshalb musste getElementsByname für die Namensuche verwendet werden. Der Einloggen-Button hat weder ID noch Namen, deshalb habe ich es über den Tagnamen gemacht.
Wie habe ich die Namen ermittelt? Ganz einfach: Man geht in den Quellcode und schaut sich das an.
viele Grüße
Karl-Heinz
Anzeige
AW: VBA automatsch einloggen
12.01.2020 13:15:27
Rasenack
Hallo,
bei dir müsste anstatt
IEDocument.getElementByID("Nachname").Value = "Mustermann"
IEDocument.getElementByID("Passwort").Value = "12345"
das hier stehen. Dann sollten schon mal die Werte eingetragen worden sein.
IEDocument.getElementsByTagName("Input")(0).Value = "Mustermann"
IEDocument.getElementsByTagName("Input")(1).Value = "12345"
Dann üsste noch der Button betätigt werden, aber versuche doch erstmal meinen Vorschlag.
Liebe Grüße André
AW: VBA automatsch einloggen
12.01.2020 13:22:11
MarC
Danke Andre, das habe ich auch schon ausprobiert, aber dann kommt die gleiche Meldung "Diese Zugangsdaten sind leider nicht korrekt ... vielleicht vertippt?" Kann es vielleicht an der Groß-/Kleinschreibung liegen?
Anzeige
AW: VBA automatsch einloggen
12.01.2020 14:16:54
Rasenack
Setz doch mal einen Haltepunkt vor dem Login und gehe mit F8 Schritt für Schritt weiter. Du müsstest doch dann die eingegeben Werte auf der Webseite sehen. Sind die korrekt?
AW: VBA automatsch einloggen
12.01.2020 14:31:02
MarC
Danke für den Tipp. Ich habe es gerade ausprobiert und die Email wird richtig eingegeben und das passwort scheint auch drin zu stehen also unsichtbar. Wenn ich jetzt selber auf einloggen klicke erhalte ich die gleiche meldung wie vorher. Wenn ich vor dem einloggen mir das unkenntlich gemachte passwort anschauen möchte ist das eingabefeld auf einmal leer. wenn ich das passwort selber eingebe verschwindet auf einmal die email adresse. Das ist echt komisch. Verwende ich vielleicht den falschen Explorer? Sollte ich besser Chrome oder Firefox per VBA ansprechen?
Anzeige
AW: VBA automatsch einloggen
12.01.2020 14:45:57
Rasenack
Hast du vielleicht aus Versehen ein Leerzeichen am Anfang oder Ende in den Anführungszeichen? Dann meckern die meisten Seiten auch, dass die Anmeldedaten nicht korrekt seien.
AW: VBA automatsch einloggen
12.01.2020 14:50:41
MarC
Nein es ist kein Leerzeichen drin. Ich habe es zur Sicherheit nochmal neu eingegeben, aber es ändert sich nichts. Liegt es vll am Befehl das die Werte rein kopiert werden und nicht geschrieben?
AW: VBA automatsch einloggen
12.01.2020 18:30:29
Pierre
Hallo Marc,
hast du Mal versucht, deine Daten ganz normal via Copy&Paste auf der Seite einzutragen?
Hatte das auch schon öfter, dass ich mich dann nicht einloggen konnte, weil ich das Passwort dort eingefügt und nicht eingetippt habe.
Heißt, dass evtl. das Einfügen generell auf manchen Seiten unterbunden wird.
Gruß Pierre
Anzeige
AW: VBA automatsch einloggen
13.01.2020 22:40:34
MarC
Hallo Pierre und Rasenack,
ich habe so gut wie alles mir bekanntes versucht. Ich habe den Code und die einzelnen Schritte überprüft, aber da ist mir nichts aufgefallen. Wenn ich die Logindaten mit copy&paste eintrage also per Hand kopiere funktioniert es. Wenn ich sie eintippe funktioniert es, aber wenn es mit dem Makro gemacht wird steht es augenscheinlich in den Fenstern aber bei der Ausführung funktioniert es dann nicht.
Ich habe es mal bei einer anderen Internetseite versucht da ging es auch nicht. Dann habe ich es so versucht:
Public Sub loggen()
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run "http://internetseitexxxxx/servlet/mstrWeb?id=der username&Pwd=das passwort"
End Sub
Dieser Lösung geht aber nur bei manchen Seiten. Warum das so ist weiß ich leider nicht.
Anzeige
AW: VBA automatsch einloggen
14.01.2020 14:00:23
volti
Hallo Marc,
über die sogenannte Get-Methode werden über den Link (nach dem ?) Informationen zur Web-Anwendung übertragen.
Denn durch die lose Verbindung des User-Rechners zur Web-Anwendung auf dem Server hat diese nach einem Kontakt gleich wieder vergessen, dass der User schon mal da war. Oft werden einfach nur Session-IDs übertragen, die bei Anmeldung kreiert werden und immer wieder mitgegeben werden, bis sie irgendwann nach Ablauf der Zeit oder nach Abmeldung nicht mehr gültig sind. Dann kann der Link nicht mehr verwendet werden.
Das muss aber das Server-Script auch entsprechend programmatisch unterstützen. Deshalb geht etwas bei der einen aber nicht bei der anderen Anwendung.
viele Grüße
Karl-Heinz
Anzeige
Danke für die gute Erklärung Heinz
14.01.2020 19:44:29
MarC
Danke

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige