Ich schreibe gerade an einem Modul, wo ich den Quelltext einer Internetseite verarbeiten will. Aber ich weiß nicht, wie ich den Quelltext einer Internetseite in VBA laden kann.
Ich bedanke mich schon mal im vorraus für deine Antwort!
Gruß TimoW
Ich schreibe gerade an einem Modul, wo ich den Quelltext einer Internetseite verarbeiten will. Aber ich weiß nicht, wie ich den Quelltext einer Internetseite in VBA laden kann.
Ich bedanke mich schon mal im vorraus für deine Antwort!
Gruß TimoW
Unklar ist, wie sich die Funktion verhält, wenn der IExplorer
nicht installiert ist.
Praktisch ist auch die Möglichkeit statt HTML nur den
InnerText einer Website zu mopsen, zB für Aktien-Kurslisten
oder halt generell Tabellen.
An Verbesserungen bin ich immer interessiert, zB könnte
man auch winsock.dll Funktionen verwenden.
Man könnte im Fehlerfall auch den Errorstring zurückgeben,
anstatt eine MsgBox anzuzeigen, oder dies und das :-)
Feel free to do it.
-------------------
Open "C:\Herber.htm" For Output As #1
Print #1, GetInnerX("https://www.herber.de", "HTML")
Close 1
Function GetInnerX(strURL As String, Optional strWhat As String = "HTML") As String
Dim objIE As Object, objDoc As Object
Dim strMldg As String
GetInnerX = ""
On Error GoTo ErrorHandler 'evtl. Fehler (auch serverseitig) abfangen
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = False
objIE.Navigate strURL
Do While objIE.Busy
Loop
Set objDoc = objIE.Document
Do While objDoc.readyState <> "complete"
Loop
Select Case UCase(strWhat)
Case "HTML"
GetInnerX = objDoc.Body.InnerHTML
Case Else
GetInnerX = objDoc.Body.InnerText
End Select
objIE.Quit
Exit Function
ErrorHandler:
If Err.Number <> 0 Then
strMldg = "Fehler 0x" & Hex(Str(Err.Number)) & " wurde ausgelöst von " _
& Err.Source & Chr(10) & Err.Description
MsgBox strMldg, vbCritical, "Fehler beim Zugriff auf WWW via InternetExplorer", Err.HelpFile, Err.HelpContext
Err.Clear
End If
End Function
Wie machst du das ?
Danke :-)
siehe mal Features
Gruß Hajo
Code eingefügt mit Syntaxhighlighter 1.16
Sub Te()
If I=1 Then
I=2
End If
End Sub
Genau des brauchte ich!
Danke!
Gruß TimoW