Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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
Internetexploer Formulardaten aus Excel füllen
Sebastian
Hallo,
Ich würde gerne mal versuchen aus vom excel aus den Internetexploer zu Steuern.
Ich möchte zum bespiel gerne in der Textbox (name) auf einer Internetseite einen wert aus excel (A1) eintragen lassen.
Ob sowas funktioniert!?
Wenn möglich ohne sendkey anweisung.
LG
Sebastian

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Internetexploer Formulardaten aus Excel füllen
16.10.2011 11:05:26
Reinhard
Moin Sebastian,
geb Internetformular oben links bei Schnellsuche ein und OK...
Gruß
Reinhard
AW: Internetexploer Formulardaten aus Excel füllen
16.10.2011 11:09:09
Sebastian
gemacht...
Aber so richtig finden tut er da nix :-(
AW: Internetexploer Formulardaten aus Excel füllen
16.10.2011 11:37:25
Sebastian
Ok Habe den Code gefunden,

Sub WebausFuellen()
Dim appIE As Object
Set appIE = CreateObject("InternetExplorer.application")
'False ist unsichtbar    True ist Sichtbar
appIE.Visible = True
'Webseite?
appIE.Navigate "http://www.ictax.admin.ch/extern/faces/searchInstrument.xhtml?lang=de"
While Not appIE.ReadyState = 4 'Warte auf Webseite
DoEvents
Wend
'Jahr 0=2010; 1=2009; 2=2008; 3=2007 usw. bis 2001
appIE.Document.all.searchInstrumentBean_referenceDate.Value = "2"
'Valorennummer:
appIE.Document.all.instrumentSearchCriteriaBean_valorNumber.innerText = "1599"
'Gesellschaftsbezeichnung
appIE.Document.all.instrumentSearchCriteriaBean_name.innerText = "Hallo Test"
'Suchen
appIE.Document.all.DefaultButton.Click
''Webseite schliesen
'appIE.Quit
Set appIE = Nothing
End Sub
Das klappt auch auf der seite.
Jetzt nur noch eine Frage. ich gehe davon aus das diese zeile
appIE.Document.all.instrumentSearchCriteriaBean_name.innerText = "Hallo Test"
zum beispiel dann so aussehen muss
appIE.Document.all.name1 = "Christian"
name1 heißt mein Feld.
Allerdings bekomme ich da immer laufzeitfehler 438
was mache ich falsch?
Anzeige
getelementbyid
16.10.2011 11:09:44
ransi
HAllo Sebastian
Ein Patentrezept gibt es dafür nicht.
Du musst im Quelltext der Internetseite die Namen und/oder IDs der Steuerelemente suchen.
Dann kannst du sie gezielt mit getelementbyid ansteuern und manipulieren.
Hört sich schlimm an, ist aber keine große Sache.
ransi
AW: getelementbyid
16.10.2011 11:12:00
Sebastian
Ist sicher schwer zu finden wenn das nicht meine Website ist oder?
Kann man das irgendwie auslesen?
AW: getelementbyid
16.10.2011 11:14:28
Reinhard
Hallo Sebastian,
Rechtsklick auf den Webseitenteil, je nachdem
Seitenquelltext anzeigen
bzw.
Aktueller Frame---Frame-Quelltext anzeigen
o.ä.
Gruß
Reinhard
AW: getelementbyid
16.10.2011 11:16:52
ransi
Hallo Sebastian
Kann man das irgendwie auslesen?
Wenn du Firefox hast:
Das Steuelement markieren-rechte Maus drauf-Quelltext anzeigen.
ransi
Anzeige
AW: getelementbyid
16.10.2011 11:37:52
Sebastian
Das funknioniert schonmal prima!
Danke
BeispielCode
16.10.2011 11:49:54
ransi
HAllo Sebastian
2 TextBoxen und ein Button
Schau mal hier:

Option Explicit



Private Sub machs()
    Dim objIE As Object
    Set objIE = CreateObject("Internetexplorer.Application")
    With objIE
        .Visible = True
        .Navigate2 "http://www.deine_internetseite.de"
        Do While .busy
            Do While .busy
                DoEvents
            Loop
        Loop
        .document.getelementbyId("usernameLogin").Value = "Dein_Login_Name"
        .document.getelementbyId("passwordLogin").Value = "Geheim"
        .document.getelementbyId("buttonLogin").Click
    End With
End Sub


ransi
Anzeige
AW: BeispielCode
16.10.2011 12:33:23
Sebastian
Funktioniert!!
Aber wenn ich daten aus einer DropDown Feld (anrede) Auswählen lassen will geht das nicht :-(
.document.getelementbyId("anrede").Value = "Herr"
oder auch
.document.getelementbyId("anrede").Value = "2"
Geht nicht!?
Hat da noch jemand einen Rat?
Link
16.10.2011 12:38:31
ransi
HAllo
Welche Seite willst du denn automatisch ausfüllen ?
ransi
AW: Link
16.10.2011 13:19:08
Anton
Hallo Sebastian,
mit deiner Beispielseite funktioniert es:
Code:

Sub b()
  Dim IEApp As Object  
  Dim IEDocument As Object    
  Set IEApp = CreateObject("InternetExplorer.Application")  
  IEApp.Visible = True
  IEApp.Navigate "http://www.skylu.de/auswahl.php"
  Do: Loop Until IEApp.Busy = False    
  Do: Loop Until IEApp.Busy = False    
  Set IEDocument = IEApp.Document  
  Do: Loop Until IEDocument.ReadyState = "complete"    
  IEDocument.getElementById("anrede").Value = "Herr"
  IEDocument.getElementById("vorname").Value = "Sebastian"
  IEDocument.getElementById("name").Value = "lupo"
  Set IEDocument = Nothing  
  Set IEApp = Nothing  
End Sub  


mfg Anton
Anzeige
AW: Link
16.10.2011 13:40:53
Sebastian
So funktionierts :-)
Besten dank
AW: Link
16.10.2011 14:46:20
Sebastian
Ähm... noch eine kleine Frage,
funktioniert das eigentlich auch wenn die seite schon offen ist!?
Immer wenn ich das Makro laufen lassen öffnet sich der IE Explorer neu :-(
AW: Link
16.10.2011 14:54:22
Reinhard
Hallo Sebastian,
das geht schon, ändere die eine Zeiel so ab:
Set IEApp = CreateObject("InternetExplorer.Application")
in
Set IEApp = GetObject(,"InternetExplorer.Application")
Das klappt nur wenn der IE in dem Moment am laufen ist, ist das nicht sicher so frag nochmal nach, kriegt man auch hin.
Gruß
Reinhard
AW: Link
16.10.2011 14:59:29
Sebastian
Nein das geht nicht.
Habe das
Set IEApp = GetObject(,"InternetExplorer.Application")
und das
Set IEApp = GetObject("InternetExplorer.Application")
Probiert.
Die seite ist eigentlich schon geöffnet. Excel soll nur die Daten in die Felder eintragen :-(
Hat jemand eine idee?
Anzeige
AW: Link
16.10.2011 14:59:40
Sebastian
Nein das geht nicht.
Habe das
Set IEApp = GetObject(,"InternetExplorer.Application")
und das
Set IEApp = GetObject("InternetExplorer.Application")
Probiert.
Die seite ist eigentlich schon geöffnet. Excel soll nur die Daten in die Felder eintragen :-(
Hat jemand eine idee?
Link
16.10.2011 16:15:50
Anton
Hallo Sebastian,
probier sowas:
Code:

Sub b()
  Dim objShell As Object  
  Dim IEApp As Object, win As Object  
  Dim adresse As String  
  adresse = "http://www.skylu.de/auswahl.php" 'anpassen
  Set objShell = CreateObject("Shell.Application")  
  For Each win In objShell.Windows  
    If InStr(1, UCase(win.FullName), "IEXPLORE") > 0 Then    
      If win.Document.Location = adresse Then  
        Set IEApp = win
        Exit For  
      End If  
    End If  
  Next
  If IEApp Is Nothing Then    
    Set IEApp = CreateObject("InternetExplorer.Application")  
    IEApp.Visible = True
    IEApp.Navigate adresse
    Do: Loop Until IEApp.Busy = False    
    Do: Loop Until IEApp.Busy = False    
  End If  
  Set IEDocument = IEApp.Document  
  Do: Loop Until IEDocument.ReadyState = "complete"    
  IEDocument.getElementById("anrede").Value = "Herr"
  IEDocument.getElementById("vorname").Value = "Sebastian"
  IEDocument.getElementById("name").Value = "lupo"
  Set IEDocument = Nothing  
  Set IEApp = Nothing  
  Set objShell = Nothing  
End Sub  


mfg Anton
Anzeige
AW: Link
16.10.2011 17:39:18
Sebastian
Genial,
genau sowas habe ich gesucht :-)
Besten dank

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige