Anzeige
Archiv - Navigation
1556to1560
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

Geöffnetes IE Fenster befüllen

Geöffnetes IE Fenster befüllen
14.05.2017 09:36:51
Sebastian
Hallo Leute,
ich möchte gerne eine Webseite mit Daten befüllen. Das klappt eigentlich ganz gut mit diesem Code unten.
Mich würde mal interessieren, ob ich die Felder bei geöffneter Seite auch ausfüllen kann? Also das textfeld direkt ansprechen ohne vorher ein neues IE Fenster zu öffnen.
Vielen Dank und Viele Grüße
Sebastian
Mein Code um die Seite zu öffnen und zu befüllen ist
Sub Login()
Dim IEApp As Object, hyper_link As Object
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate "***://delisonline.dpd.de/delisonline/index.jsp"
IEApp.TheaterMode = False
IEApp.AddressBar = False
IEApp.MenuBar = False
IEApp.StatusBar = False
IEApp.Toolbar = False
IEApp.Resizable = True
' Hier die Fenstergröße definieren
IEApp.Height = 1000
IEApp.Width = 1024
IEApp.Left = 0
IEApp.Top = 0
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Document.ReadyState = "complete"
With IEApp.Document.All
.Item("txtLogin").Value = "mein@email.de" 'Set username
End With
End Sub

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auf geöffnete Internetexplorerinstanz...
14.05.2017 09:50:39
Sebastian
Das öffnet mir leider auch jedes mal ein neues Fenster :-(
Reden wir vom...
14.05.2017 10:04:36
Case
Hallo, :-)
... Internetexplorer oder vom Microsoft Edge? Dann musst Du halt etwas anpassen. ;-)
Servus
Case

AW: Reden wir vom...
14.05.2017 10:05:54
Sebastian
Wir reden vom Internetexplorer.
VG und vielen Dank
Sebastian
AW: Probiere mal das...
14.05.2017 11:45:29
Sebastian
Das geht auch nicht.
immer wieder ein neues Fenster :-(
Schade
AW: Geöffnetes IE Fenster befüllen
14.05.2017 12:09:21
mumpel
Hallo!
Versuch es mal mit einer Userform und darin das WebBrowser-Steuerelement.
Gruß, René
AW: Geöffnetes IE Fenster befüllen
14.05.2017 19:25:04
Zwenn
Hallo Sebastian,
wenn ich es richtig verstehe, willst Du ein Fenster des Internet Explorers ansprechen, dass bereits außerhalb Deines Makros, geöffnet wurde mit dem Du drauf zugreifen willst. Das geht meines Wissens nach nur, wenn Du die ProcessID (PID) des bereits geöffneten Fensters ermittelst. Das widerum geht nur über eine API Funktion:

Declare Function GetWindowThreadProcessId Lib "user32.dll" ( _
ByVal hwnd As Long, _
lpdwProcessId As Long) As Long
Die allein reicht aber nicht. Du musst ja auch noch etwas mit der PID anfangen. Zusätzlich brauchst Du auch noch einen Weg, um die richtige rauszufiltern, falls bereits mehrere Internet Explorer Fenster geöffnet wurden. Darüber hinaus musst Du dann innerhalb der richtigen Internet Explorer Instanz den richtigen Tab im IE ansprechen.
Wie das alles im Zusammenspiel funktioniert kann ich Dir nicht sagen. Du kannst Dir aber unter folgendem Link erste Informationen ansehen und vielleicht etwas Code ausprobieren. Weiter Recherchieren musst Du dann selbst. Das scheint mir nicht grade trivial.
http://www.vbarchiv.net/api/api_getwindowthreadprocessid.html
Vielleicht kann Dir aber auch jemand der hier vertretenen Cracks sagen, wie das benötigte Konstrukt insgesamt funktioniert.
Viele Grüße,
Zwenn
Anzeige
Das geht auch per...
15.05.2017 06:57:02
Case
Hallo Zwenn, :-)
... "Shell". Habe irgendwo einen Code rumliegen - muss den mal suchen.
Auch wenn ein anderes Tab aktiv ist kannst Du eintragen - wird dann automatisch aktiviert.
Bin im Moment viel unterwegs, aber wenn ich wieder Luft habe stell ich das hier ein. ;-)
Servus
Case

AW: Das geht auch per...
15.05.2017 07:00:14
Sebastian
Das wäre echt super.
Das mit einen Userform habe ich mir angeschaut - ist aber nicht so schön. funktioniert aber.
Vielleicht hat Case ja wirklich eine Lösung.
Vielen Dank und viele Grüße
Sebastian
Der Code von Anton...
16.05.2017 21:52:50
Anton...
Hallo, :-)
... funktioniert doch oder? ;-)
Das Grundgerüst kommt von hier: ;-)
ShellWindows object...
Mit der ersten Methode wird ein Objekt erstellt. Die zweite Methode beinhaltet die Explorerfenster des Shellobjektes. Die daraus resultierende Eigenschaft "Count" beinhaltet alle Adressen.
Daraus lese ich z. B. die "LocationURL". Der Code von Anton geht über "Document.Location". Zusätzlich prüft er noch, ob es der Internetexplorer ist, da sonst auch die Explorerfenster durchlaufen werden. Leicht mit F8 und dem Lokal-Fenster zu überprüfen.
Ohne "Exit For" wird das zuletzt geöffnete Tab - mit der entsprechenden Adresse - genommen.
Da in den "Items" die/alle URLs gelistet sind, muss das jeweilige Tab auch nicht aktiv sein.
Kann im Moment nur sporadisch vorbeischauen. Antons Code funzt.
Option Explicit
Sub Main()
Dim IEXPEX As SHDocVw.ShellWindows
Dim objIE As Object
On Error GoTo Fin
Set IEXPEX = New SHDocVw.ShellWindows
For Each objIE In IEXPEX
Debug.Print "URL: " & objIE.LocationURL
Next objIE
Fin:
Set IEXPEX = Nothing
Set objIE = Nothing
End Sub
Servus
Case

Anzeige
Geöffnetes IE Fenster befüllen
15.05.2017 09:54:07
Anton
Hallo Sebastian,
irgendwie so:

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
Test oT
16.05.2017 07:42:23
Anton
@ s.lutty oT
17.05.2017 09:31:10
Anton

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige