Um den Inhalt einer Web-Seite auszulesen, benötigt man ein IE-Objekt, welches man etwa wie folgt verwendet:
Const url = "http://www.example.com"
Dim Response As String
' Zugriff aufs Web
Dim WebBrowser As Object
Set WebBrowser = CreateObject("InternetExplorer.Application")
WebBrowser.Navigate url
' Warten, bis die Seite geladen ist
Do While WebBrowser.busy
DoEvents
Loop
Response = WebBrowser.Document.Body.InnerHtml
' Ressourcen freigeben
WebBrowser.Quit
Set WebBrowser = Nothing
In der Variablen “Response“ steht dann der HTML-Quelltext der Seite.
Hallo,
danke für den Code-Schnipsel. Eine Frage noch, welche Verweise müssen noch angehakt werden, damit Dein Code funktioniert?
Bei mir bricht er an der Stelle
Set WebBrowser = CreateObject(„InternetExplorer.Application“)
ab.
Ich denke, da fehlt noch die Verweis Biliothek.
Schon mal danke für die Antwort
Angehakt werden müssen meiner Meinung nach
„Microsoft Internet Controls“
und eventuell
„Microsoft HTML Object Library“
Hi,
vielen Dank für den code. Funktioniert prima.
Ich nutze sie, um Hobby-Sportergebnisse abzurufen.
Leider ist eine Seite wohl mit Absicht sehr langsam gemacht.
Dieser Aufruf dauert da relaiv lange:
WebBrowser.navigate url
Häufig meldet Excel dann auch hier einen Fehler:
Response = WebBrowser.document.Body.InnerHtml
Ich kann dann aber auf weiter drücken, und es geht ohne Probleme weiter. Zeitgesteuerte Ausführung ist dann allerdings nicht möglich.
Was macht genau navigate url? Kann man hier ggf. etwas ändern? Bzw nur z.B. eine ID aus dem Code laden?
Danke für Eure Hilfe!
Beispielseite:
http://www.fussball.de/spiel/sc-sw-bakum-sg-holdorf-handorf-langenberg/-/spiel/022PA0RB6G000000VS54898EVU0FHBHU#!/
Mein Problem besteht darin, die Adressen von offenen WEB-Seiten (mehrere) in WORD mit VBA-Befehlen auszulesen.
Vielen Dank
Danke für den Hilfreichen Artikel.
Ich habe mit etwas Anpassung mir nun ein VBA Code gebaut.
Gibt es denn eine Möglichkeit das ganze ohne einen Browser im Hintergrund zu machen?
Ggf. eine eigene Funktion innerhalb von VBA ?
Danke
Gruss Patrick