eine Möglichkeit...
17.10.2015 16:27:54
Michael
Hi Jockel,
versuch mal das:
Option Explicit
Sub GetTextAusSite()
Dim sURL As String, sResult As String
Dim von As Long, bis As Long
sURL = "https://wiki.selfhtml.org/"
sResult = GetHTTPResult(sURL)
von = InStr(1, sResult, "Vollständiges")
MsgBox von
bis = InStr(von, sResult, "http://stackoverflow.com/questions/18163560/excel-vba-http-request-download-data-from-yahoo-finance
Dim XMLHTTP As Variant, sResult As String
Set XMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
XMLHTTP.Open "GET", sURL, False
XMLHTTP.Send
sResult = XMLHTTP.Status & " - " & XMLHTTP.StatusText & vbLf & XMLHTTP.ResponseText
Set XMLHTTP = Nothing
GetHTTPResult = sResult
End Function
Das WinHttpRequest holt die Seite im Hintergrund.
Die Frage ist, bis wohin Du suchen möchtest. Man könnte evtl. den verbleibenden String (nach dem 1. instr) mit split in ein Array stecken und die erste Zeile ausgeben.
Ich vermute, daß Du weißt, was nach dem gesuchten Text kommt, also habe ich mal zu Testzwecken nach der spitzen Klammer gesucht (also dem nächsten vorhandenen HTML-Tag): das kannst Du nach Bedarf ändern.
Happy Exceling,
Michael
P.S.: ich sehe grade, daß die untere Funktion dem eigentlichen Text die Server-Status-Info voranstellt - die könnte man abfragen. "200" steht für Server ok.