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

IE per VBA
PeTeR
Hallo VBA-Freaks,
ich starte per VBA den IE, öffne eine Seite, melde mich per Passwort an... funktioniert alles!
In einem Formular kann ich per "Durchsuchen" eine Datei zum Upload auswählen:
<div class="prop"><label for="j_id79:j_id82:j_id92" class="name ">
DATEI<span id="j_id79:j_id82:j_id88" class="required">*</span></label>
<span class="value "><input type="file" id="j_id79:j_id82:j_id92" name="j_id79:j_id82:j_id92" />
</span>



Mein Code
IEDocument.getElementById("j_id79:j_id82:j_id92").Focus
IEDocument.getElementById("j_id79:j_id82:j_id92").Select
funktioniert perfekt.
ABER: IEDocument.getElementById("j_id79:j_id82:j_id92").value = "C:\..." funktioniert nicht!
Wie kann ich den Pfad an das Eingabefeld übergeben?
Vielen Dank für eure Hilfe
PeTeR

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: IE per VBA
10.02.2011 08:10:48
Gerwas
Hallo
habe zwar keine Antwort auf dein Frage aber mich würde deine Routine mit dem "öffne eine Seite, melde mich per Passwort an.." interessieren. wie geht das?
mfg
gerwas
AW: IE per VBA
10.02.2011 22:22:40
PeTeR
Hallo Gerwas,
der VBA-Code lautet wie folgt:
Sub InternetExplorerSteuern()
Dim IEApp As Object
Dim IEDocument As Object
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate "http://www.blablabla"
Do: Loop Until IEApp.Busy = False
Set IEDocument = IEApp.Document
Do: Loop Until IEDocument.ReadyState = "complete"
IEDocument.getElementById("loginform:username").Value = "Hier Benutzername"
IEDocument.getElementById("loginform:password").Value = "Hier Passwort"
IEDocument.getElementById("loginform:submit").Click
Du musst natürlich im Quellcode nachlesen wie die Felder "loginform:username" auf deiner Website heissen.
Ich habe mein Problem übrigens inzwischen selbst gelöst:
Nach
IEDocument.getElementById("j_id79:j_id82:j_id92").Focus
kann man mit
Application.sendkeys (....)
das Eingabefeld beschriften.
Nicht elegant aber sehr effektiv ;-))
Gruß
PeTeR
Anzeige
AW: IE per VBA
11.02.2011 08:48:02
Gerwas
Hallo und danke für den Code
leider habe ich gar keine Ahnung von html, muß mich aber mehrmals am tag bei verschiedenen Seiten einloggen, deshalb mein interesse an deinem projekt.
habe mal den code ausprobiert, bekomme aber fehlermeldung - objetvariable nicht festgelegt (91) in der zeile mit dem login:user?
der quellcode einer seite sieht, ich hoffe das ist der interssierende teil, so aus :
...
&ltform name="login" method="post" action=""&gt &ltbr&gt&ltb&gtLogin&lt/b&gt für Bearbeiter&ltbr&gt
&ltinput type="text" size="15" name="user" value=""&gt&ltfont size="1"&gt&ltbr&gt Benutzer &ltbr&gt
&ltinput type="password" size="15" name="pw"&gt&ltbr&gt Passwort        &lt/font&gt&ltinput type="submit" value="Login" style="font-size:12; height:20px"&gt
&ltinput type="hidden" name="request_var" value="a:4:{s:9:"datum_von";s:10:"10.02.2011";s:8:"zeit_von";s:5:"05:00";s:8:"zeit_bis";s:5:"05:00";s:9:"datum_bis";s:10:"11.02.2011";}"&gt
&lt/form&gt
...
hast du da einen tipp für mich?
gruß gerwas
Anzeige
AW: IE per VBA
11.02.2011 08:50:33
Gerwas
hier nochmal der code:
...
&lt form name="login" method="post" action=""&gt  &lt br&gt &lt b&gt Login&lt /b&gt für Bearbeiter&lt br&gt
&lt input type="text" size="15" name="user" value=""&gt &lt font size="1"&gt &lt br&gt  Benutzer &lt br&gt
&lt input type="password" size="15" name="pw"&gt &lt br&gt  Passwort        &lt /font&gt &lt input type="submit" value="Login" style="font-size:12; height:20px"&gt
&lt input type="hidden" name="request_var" value="a:4:{s:9:"datum_von";s:10:"10.02.2011";s:8:"zeit_von";s:5:"05:00";s:8:"zeit_bis";s:5:"05:00";s:9:"datum_bis";s:10:"11.02.2011";}"&gt
&lt /form&gt
...
Anzeige
AW: IE per VBA
12.02.2011 12:03:43
PeTeR
Hallo gerwas,
ich bin in VBA recht fit aber html verstehe ich auch nicht gut, aber ich glaube folgendes erkennen zu können:
Dein html-code definiert die Eingabefelder NICHT über IDs, SONDERN über NAMEN: name="login"
ALSO darfst du in VBA NICHT getElementById verwenden, SONDERN getElementsByName. Der VBA-Befehl müsste als lauten:
IEDocument.getElementsByName("login").Value = "Hier Bearbeitername"
IEDocument.getElementsByName("user").Value = "Hier Benutzername"
IEDocument.getElementsByName("pw").Value = "Hier Passwort"
Da der Thread hier langsam verschwindet, kannst du mir auch an beratung@csi.com posten.
Viel Erfolg
PeTeR
Anzeige
AW: IE per VBA
14.02.2011 11:14:19
gerwas
hallo
kann es sein, dass ich den richtigen verweis nicht eingebunden habe - welchen? der editor schreibt getelementsbyname nicht groß, also nach der eingabe erscheint nicht getElementsByName
gruß gerwas
AW: IE per VBA
14.02.2011 13:13:41
PeTeR
Hi,
wenn getElementByID funktioniert, sollte getElementsByName genauso funktionieren. Ein Verweis auf eine bestimmte Objektbibliothek ist mir nicht aufgefallen.
Viel Erfolg
PeTeR
AW: IE per VBA
14.02.2011 15:44:52
gerwas
es wird überhaupt kein getElement... groß geschrieben. bekomme auch keine hilfe angezeigt. liegt vielleicht an meinem Office 11 ...
trotzdem, werde die sache bei gelegenheit weiter verfolgen
gruß gerwas
Anzeige
AW: IE per VBA
14.02.2011 19:49:55
PeTeR
Hi,
"es wird überhaupt kein getElement... groß geschrieben. bekomme auch keine hilfe angezeigt"
Das ist völlig OK! Es sind keine Excel-Vokabeln, sonder IE-Vokabeln. Die kann der VB-Editor von Excel nicht prüfen und hat auch keine Hilfe dafür parat. ABER das Makro musst trotzdem laufen!
PeTeR

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige