Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
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

IE Formular eingebe mit Passwort über VBA Excel

IE Formular eingebe mit Passwort über VBA Excel
22.06.2019 21:40:02
Anton
Hallo liebes Forum,
ich hänge mal wieder an einem Problem in VBA Excel und komme nicht weiter.
Aus dem Netz habe ich ein Code Snippsel gefunden, wie man mit VBA Excel auf ein Internet Formular zugreifen kann, dass mit einem BEnutzername und Passwort geschütz ist. Trotz all die Bemühungen scheitert es an meiner InetSeite anzupassen.
Hier der Code:

Private Sub CommandButton2_Click()
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
.Visible = True
.Navigate2 "https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1561229862&rver=7.0.  _
_
6737.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fnlp%3d1%26RpsCsrfState% _
3dbe18fdca-a058-dd1a-59bb-70151a82e75f&id=292841&aadredir=1&CBCXT=out&lw=1&fl=dob%2cflname%2cwld&cobrandid=90015"
Do While .Busy And .Readystate  4
DoEvents
Loop
'.document.getelementbyname("linkButtonSigninHeader").Click
'.document.linkButtonSigninHeader.submit
.document.getelementbyId("i0116").Value = "MeineAdresse@live.de"
End
.document.getelementbyId("idSIButton9").Click
.document.getelementbyId("i0118").Value = "MeinPW"
.document.getelementbyId("idSIButton9").Click
End With
'Set objIE = Nothing
End Sub

Hier in dieser Zeile erscheint der Fehler 424 Objekt nicht vorhanden

.document.getelementbyId("i0116").Value = "MeineAdresse@live.de"

Wenn ich das Excel Programm weiter laufen lassen nach der Fehlermeldung, wird das Feld mit MeinerAdresse@live.de beschrieben.
Es ist auch schwierig, auf der www.outlook.com Seite, die richtigen ID's bzw. Namen für die Buttons bzw. Texfelder herauszufinden.
Der eine Anmelde Button habe ich versucht, über "Element Untersuchen" ausfindig zu machen, aber leider ohne Erfolg.

 _
Anmelden 

Habe versucht linkButtonSigninHeader zu verwenden, alle beide Versionen getestet.
Fehlermeldung 438 Objekt unterstützt diese Eigenschaft o.Methode nicht

.document.getelementbyname("linkButtonSigninHeader").Click
.document.linkButtonSigninHeader.submit

Die Outlook Seite ist so aufgebaut:
1. Startseite öffnen
2. Anmelde Button klicken
3. Eingabefenster für EmailAdresse öffnet sich.
4. Weiter Button klicken
5. Eingabefenster für PW öffnet sich.
6. Weiter Button klicken um in das Postfach zu gelangen.
Fertig
Den zweiten Weiter Button nach der Email Eingabe, kann ich auch nicht bestimmen.



Ich hoffe soweit alles eklärt zu haben und hoffe ihr könt mir helfen.
Vielen lieben Dank im Voraus.
MfG
Anton

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IE Formular eingebe mit Passwort über VBA Excel
22.06.2019 23:56:09
Zwenn
Hallo Anton,
was auch immer Du automatisiert mit einem MS Konto anfangen willst. Ich zeige Dir jetzt, wie Du den Login hinbekommst, aber danach bin ich raus. Zu zeitaufwändig rauszubekommen, wie man für "function follows design" vorgehen muss ;-)
Ich gehe davon aus, dass Du die lange URL gewählt hattest, weil Du in den online Outlook Account einloggen willst. Ich habe die URL ohne Parameter verwendet, womit Du im Shop landest. Du müsstest die aber einfach durch Deine ersetzen können. Ich kann das leider nicht ausprobieren, weil ich mehrere MS-Konten auf eine Mail-Adresse laufen habe. Da kommt dann noch ein Zwischenschritt, den es bei Dir nicht geben dürfte.
Ein paar Worte zur Lösung:
  • Zunächst mal muss man etwas warten, nachdem die Seite geladen wurde. Es gibt eine Animation, in der das Fenster zur Eingabe des Benutzernamens in die Mitte des Bildschirms geholt wird

  • Dann wird die Mail-Adresse eingetragen, aber der Placeholder verschwindet nicht. Um das zu erreichen, muss man einen Mausklick ausführen. Wo auf dem Bildschirm ist egal. Ich habe eine entsprechende Funktion von Tino gefunden und einfach 1 zu 1 verwendet:
    https://www.herber.de/forum/archiv/1092to1096/1093926_Mausklick_mit_VBA.html#1093966

  • Um den IE im vordergrund zu halten, habe ich AppActivate() verwendet

  • Hier der Makro-Code:
    
    Option Explicit
    'Quelle https://www.herber.de/forum/archiv/1092to1096/1093926_Mausklick_mit_VBA.html#1093966
    Private Declare Sub mouse_event Lib "user32.dll" _
    (ByVal dwFlags As Long, ByVal dx As Long, _
    ByVal dy As Long, ByVal dwdata As Long, _
    ByVal dwExtraInfo As Long)
    Private Declare Function SetCursorPos Lib "user32" _
    (ByVal X As Long, ByVal Y As Long) As Long
    
    
    Sub MausLinks_Klick()
    'Quelle: https://www.herber.de/forum/archiv/1092to1096/1093926_Mausklick_mit_VBA.html#1093966
    Const MOUSEEVENT_LEFTDOWN = &H2
    Const MOUSEEVENT_LEFTUP = &H4
    'Position 1. Parameter Horizontal, 2.Parameter Vertikal
    SetCursorPos 50, 300
    mouse_event MOUSEEVENT_LEFTDOWN, 0, 0, 0, 0   'linksklick
    mouse_event MOUSEEVENT_LEFTUP, 0, 0, 0, 0     'Taste loslassen
    End Sub
    
    
    Private Sub CommandButton2_Click()
    Dim browser As Object
    Set browser = CreateObject("InternetExplorer.Application")
    With browser
    .Visible = True
    .Navigate "https://login.live.com/login.srf"
    Do While .Readystate  4: DoEvents: Loop
    'Animation abwarten
    'Application.Wait (Now + TimeSerial(pause_stunden, pause_minuten, pause_sekunden))
    Application.Wait (Now + TimeSerial(0, 0, 2))
    .document.getelementbyId("i0116").Value = "MeineAdresse@live.de"
    Call MausLinks_Klick
    AppActivate (browser)
    .document.getelementbyId("idSIButton9").Click
    'Animation abwarten
    Application.Wait (Now + TimeSerial(0, 0, 2))
    .document.getelementbyId("i0118").Value = "MeinPW"
    Call MausLinks_Klick
    AppActivate (browser)
    .document.getelementbyId("idSIButton9").Click
    End With
    End Sub
    

    Viele Grüße,
    Zwenn
    Anzeige
    AW: IE Formular eingebe mit Passwort über VBA Excel
    23.06.2019 10:27:22
    Anton
    Guten Morgen lieber Zwenn,
    wow, vielen Dank für den Code, der hat wunderbar geklappt, verstehe es zwar nicht so genau, aber die Hauptsache ist, dass es funktioniert.
    Vielen vielen Dank nochmal.
    LG Anton

    302 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige