Ich bin neu in VBA und Programmierung im Allgemeinen, und ich habe einige Online-Code gefunden, um die Verarbeitung von Webseiten zu automatisieren. Im Moment versuche ich mich einfach in eine Webseite für e-Oscar einzuloggen:Webseite Automatisierung mit VBA
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now())
Loop
Set objCollection = IE.document.getElementsByTagName("input")
Set objName = IE.document.getElementsByTagName("name")
i = 0
While i < objCollection.Length
If objCollection(i).ID = "companyId" Then
' Set text for search
objCollection(i).Value = "companyId"
Else
If objCollection(i).ID = "userId" Then
objCollection(i).Value = "uId"
Else
If objCollection(i).ID = "password" Then
objCollection(i).Value = "pwd"
Else
If objCollection(i).ID = "securityMsgAck1" Then
objCollection(i).Value = True
'Else
'If objName(i).Name = "securityMsgAck" Then
'objName(i).Value = True
'Else
'If objCollection(i).ID = "button" Then
'objCollection(i).Value = True
' "Search" button is found
Set objElement = objCollection(i)
End If
End If
End If
End If
'End If
'End If
i = i + 1
Wend
objElement.Click ' click button to search
Wenn AS-IS lief. Dieser Code öffnet die Webseite, die ich zu automatisieren versuche, füllt die Firmen-ID, die Benutzer-ID und das Passwort aus und scheint das Kästchen zu aktivieren, dass ich die T & C der Seite bestätige. Jedes Mal, wenn ich Kommentar- out „securityMsgAck“ es nicht überprüft mehr die Box und gibt mir eine Fehlermeldung:
Run-time error '91': Object variable or With block variable not set.\
Es tut auch dies, wenn ich auf Kommentar „securityMsgAck“ und Kommentar- out „Knopf“. Es scheint, dass mein Code versucht, das Kästchen zu markieren, wenn diese beiden Teile nicht ausgeführt werden, aber wenn die Anweisung fehlschlägt, bevor sie versuchen kann, sie zu drücken, oder sie sie vollständig blockieren. Ich bin mir nicht wirklich sicher ... irgendein Rat würde geschätzt werden. Danke im Voraus.
Edit: Immer, wenn ich entweder Abschnitt dieses Codes Kommentar- aus, mein Programm wird auch nicht mehr ausfüllen Firma Id, userId oder Passwort sowie andernfalls die Sicherheit Meldungsfeld zu überprüfen ...
die ID „Button“ nicht auf dieser Seite vorhanden sind, sollten Sie die Klasse verwenden „BTN“ – h2so4
@ h2so4 Hmm, das macht durchaus Sinn, aber mein Programm war zumindest "versuche", mich einzuloggen (denke ich), wie es jetzt ist. Ich weiß das, weil ich einen Fehler von der Webseite erhielt, dass ich die Sicherheitsnachricht nicht "markiert" hatte, um sie vor dem Login zu bestätigen. – DukeLuke