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

Per VBA "Id" aus geöffneter IE-Instanz (Adresse nicht fest) auslesen

Per VBA "Id" aus geöffneter IE-Instanz (Adresse nicht fest) auslesen
26.10.2019 07:53:04
Andrea
Hallo, hab sehr lange gesucht und bin noch nicht richtig weiter gekommen.
Folgendes also:
Ich möchte aus der letzten aktiven geöffneten IE Seite den Quellcode auslesen, bzw. dort bestimmte IDs ansteuern und deren Namen oder Inhalt in Excel in (z.B.) Zelle A1 wiedergeben. Die Adresse der IE-Seite ist variable. Ich kann die also nicht vorher gezielt ansteuern. Sie muss also geöffnet werden.
Unten angefügten Code hab ich gefunden. Der verursacht aber eine Fehlermeldung: "Objektvariable oder With-Blockvariable nicht festgelegt" bei: MsgBox ie.Document.body.innertext.
Was mache ich falsch. Danke für die Hilfe und viele Grüße
Andrea

Sub a()
Dim ie As Object
Dim objShell As Object
Dim objWindow As Object
Dim objItem As Object
Set objShell = CreateObject("Shell.Application")
Set objWindow = objShell.Windows()
For Each objItem In objWindow
If LCase(objItem.FullName Like "*iexplore*") Then
Set ie = objItem
End If
Next objItem
MsgBox ie.Document.body.innertext
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: cmd
26.10.2019 09:01:25
Fennek
Hallo,
jede Programmiersprache bietet die Tasklist an, z.B.

cmd &gt tasklist | find svchost.exe
In MS-Office bietet Word das Object "Tasks", also
dim TS as task
for each ts in tasks
debug.print ts.name
next ts
Bevor jemand mit Windows-APIs kommt, hier ein Powershellcode:
Get-Process | Format-Table ProcessName, Id | stop-process
| Format-List
| select-object Name1 name2
mfg
AW: cmd
26.10.2019 11:00:26
Andrea
Hallo Fennek, erstmal Danke für die schnelle Antwort. Nur leider kann ich damit nicht so viel anfangen. Ich kann ja auf die aktuell letzte geöffnete IE-Instanz per VBA zugreifen. Hab dazu noch mal einen weiteren Code, mit dem ich jetzt zwischenzeitlich etwas weiter kam und experimentieren konnte, unten angefügt. Nun möchte dann von einer bestimmten Position auf dieser geöffneten aktuellen IE-Seite den Inhalt einer "ID" auslesen und in Zelle z.B. "A2" übertragen. Per Msg Box funktioniert das Grundkonstrukt. Ich werde es wohl weiterprobieren. Aber vielleicht hat jemand diesbezüglich eine Idee.
Vielen Dank
Andrea
Sub b()

Sub main()
Set oWindowList = CreateObject("Shell.Application").Windows
If oWindowList.Count > 0 Then
Dim oWindow
For Each oWindow In oWindowList
If UCase(Right(oWindow.FullName, 12)) = "IEXPLORE.EXE" Then
Seite = oWindow.Document.body.outerHTML
Seite2 = Mid(oWindow.Document.body.outerHTML, 1, 60000)
'MsgBox (oWindow.Document.body.innerText)
'MsgBox (Seite)
Range("A1") = oWindow.LocationURL
Range("A2") = Seite2
End If
Next
End If
End Sub

Anzeige
Per VBA "Id" aus geöffneter IE-Instanz auslesen
26.10.2019 13:54:57
Anton
Hallo Andrea,
so?:
Code in Zwischenablage:

Sub b()
  Dim objShell As Object, win As Object  
  Dim al As Object, sID As String    
  sID = "doc-info" 'ID anpassen
  Set objShell = CreateObject("Shell.Application")  
  For Each win In objShell.Windows  
    If InStr(1, UCase(win.FullName), "IEXPLORE") > 0 Then    
      For Each al In win.Document.all    
        If al.ID = sID Then  
          MsgBox al.outerhtml
          Range("A2") = al.outerhtml
        End If  
      Next
    End If  
  Next
  Set objShell = Nothing  
End Sub  

mfg Anton
Anzeige

22 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige