Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1348to1352
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 per vba füllen

IE per vba füllen
13.02.2014 07:39:01
Werner
Hallo!
Ich habe zwar viel im Internet gefunden - aber es war keine Lösung für mich dabei.
Ich möchte ein Feld auf einer Webseite füllen:
'
Auf anderen Seiten kann ich hiermit Felder füllen:
IEDocument.getElementById("username").Value = "Benutzer"
Aber das Feld hat keine ID?!
Kann man trotzdem Daten dort hin schicken?
Gruß und Danke!
Werner

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IE per vba füllen
13.02.2014 07:40:23
Werner
Sorry
habe das Feld vergessen, um das es geht.
input name="benidein" onkeyup="javascript: setButton(event);" onfocus="javascript: setButton(event);" type="text" size="10" maxLength="20"/

AW: IE per vba füllen
13.02.2014 08:24:18
Martin
Hallo Werner,
du kannst das Feld auch mit dem Namen ansprechen:
IEDocument.getElementsByName("benidein")(0).Value = "Benutzer"
Viele Grüße
Martin

AW: IE per vba füllen
13.02.2014 10:57:11
Werner
Ich habe es probiert.
Leider kommt diese Fehlermeldung:
Objektvariable oder With-Blockvariable nicht festgelegt
Mein Code:
Sub Intranet()
Dim objShell As Object, IEDoc As Object
Dim IEApp As Object, win As Object
Dim IEDocument As Object
Dim adresse As String
Dim Benutzer As String
Dim Kennwort As String
Dim link As Object
adresse = ActiveCell.Offset(0, 3)
Benutzer = ActiveCell.Offset(0, 7)
Kennwort = ActiveCell.Offset(0, 9)
Set objShell = CreateObject("Shell.Application")
For Each win In objShell.Windows
Next
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate adresse
Do: Loop Until IEApp.Busy = False
Set IEDoc = IEApp.document
Do: Loop Until IEDoc.ReadyState = "complete"
IEDocument.getElementsByName("benidein")(0).Value = Benutzer
IEDocument.getElementsByName("kennwein")(0).Value = Kennwort
'IEDocument.getElementById("Login").Click
Do: Loop Until IEDoc.ReadyState = "complete"
Set IEApp = Nothing
End Sub
Gruß
Werner

Anzeige
AW: IE per vba füllen
13.02.2014 20:06:08
Martin
Hallo Werner,
in dem von dir anfangs geposteten Code-Schnipsel hattes du "IEDocument" als Objektvariable verwendet, also habe ich diese Variable auch bei meinem Lösungsvorschlag eingesetzt. Doch nun schreibst du, dass die Objektvariable "IEDoc" lautet. Das musst du natürlich entsprechend anpassen:
    IEDoc.getElementsByName("benidein")(0).Value = Benutzer
IEDoc.getElementsByName("kennwein")(0).Value = Kennwort
'IEDoc.getElementById("Login").Click
Am Rande erwähnt sind einige Codezeilen deines Makros überflüssig. Versuche es mal so:
Sub Intranet()
Dim IEApp As Object, IEDocument As Object
Dim adresse As String, Benutzer As String, Kennwort As String
adresse = ActiveCell.Offset(0, 3)
Benutzer = ActiveCell.Offset(0, 7)
Kennwort = ActiveCell.Offset(0, 9)
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.navigate adresse
Do: Loop Until IEApp.Busy = False
Set IEDoc = IEApp.document
Do: Loop Until IEDoc.readyState = "complete"
IEDoc.getElementsByName("benidein")(0).Value = Benutzer
IEDoc.getElementsByName("kennwein")(0).Value = Kennwort
'IEDoc.getElementById("Login").Click
Set IEDoc = Nothing
Set IEApp = Nothing
End Sub
Viele Grüße
Martin

Anzeige
Kleine Korrektur...
13.02.2014 20:18:36
Martin
Hallo Werner,
bei dem vollständigen Makro hatte ich versehentlich ausgerechnet die Deklaration der falschen Objektvariable gelöscht. Also hier noch einmal richtig:
Sub Intranet()
Dim IEApp As Object, IEDoc As Object
Dim adresse As String, Benutzer As String, Kennwort As String
adresse = ActiveCell.Offset(0, 3)
Benutzer = ActiveCell.Offset(0, 7)
Kennwort = ActiveCell.Offset(0, 9)
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.navigate adresse
Do: Loop Until IEApp.Busy = False
Set IEDoc = IEApp.document
Do: Loop Until IEDoc.readyState = "complete"
IEDoc.getElementsByName("benidein")(0).Value = Benutzer
IEDoc.getElementsByName("kennwein")(0).Value = Kennwort
'IEDoc.getElementById("Login").Click
Set IEDoc = Nothing
Set IEApp = Nothing
End Sub
Viele Grüße
Martin

Anzeige
AW: Kleine Korrektur...
17.02.2014 23:23:14
Martin
Hallo Werner,
offen gesagt empfinde ich es als Helfer sehr undankbar von dir, dass keinerlei Rückmeldung kommt. Anscheindend läuft der Makro-Code jetzt wie gewünscht und - nun nach der Lösung deines Problems - erachtest du es scheinbar nicht als nötig zu antworten. Es gehört sich einfach ein Thema abzuschließen, sei es auch nur mit den Wörtchen "Danke, jetzt klappt es". Seit 4 Tagen warte ich vergebens auf eine Reaktion von dir.
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige