2016-11-21 9 views
0

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 ...

+0

die ID „Button“ nicht auf dieser Seite vorhanden sind, sollten Sie die Klasse verwenden „BTN“ – h2so4

+0

@ 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

Antwort

1

das Kontrollkästchen verwenden, um den folgenden Code zu überprüfen

ElseIf objcollection(i).ID = "securityMsgAck1" Then 
      objcollection(i).Checked = True 
+0

Das funktioniert nicht .. – DukeLuke

+0

was funktioniert nicht? der Code zur Verfügung stellt das Kontrollkästchen, wenn ich dies auf meiner Seite versuche. – h2so4

+0

Es tat ... Entschuldigung für die späte Antwort ... Ich habe im Moment Zeit, um an diesem Makro zu arbeiten – DukeLuke

Verwandte Themen