VBA in VBS umwandeln
Hallo Leute.
Ich möchte über ein VBS-Script eine Internetseite aufrufen und Werte in eine TXT schreiben.
Habe das ganze in VBA programmiert und da klappts auch super.
Aber in VBS bin ich nicht so fit.
Kann mir jemand helfen, dass ich folgenden Code in VBS ausführen kann?
Ich möchte über ein VBS-Script eine Internetseite aufrufen und Werte in eine TXT schreiben.
Habe das ganze in VBA programmiert und da klappts auch super.
Aber in VBS bin ich nicht so fit.
Kann mir jemand helfen, dass ich folgenden Code in VBS ausführen kann?
Sub Aufruf()
Call URL_Load("http://tabelle.de?h=1")
End Sub
Private Sub URL_Load(ByVal sURL As String)
Dim appIE As Object
Dim sTxt As String
Set appIE = CreateObject("InternetExplorer.Application")
appIE.navigate sURL
Do: Loop Until appIE.Busy = False
Do: Loop Until appIE.Busy = False
sTxt = appIE.document.DocumentElement.outerHTML
Set appIE = Nothing
Close
Open ThisWorkbook.Path & "\test.txt" For Output As #1
Print #1, sTxt
Close
MsgBox "Der Text wurde gespeichert unter:" & vbLf & _
Application.Path & "\test.txt"
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 553726
Url: https://administrator.de/contentid/553726
Ausgedruckt am: 26.11.2024 um 03:11 Uhr
7 Kommentare
Neuester Kommentar
Hi,
ohne es jetzt getestet zu haben. Aber so in etwa:
E.
ohne es jetzt getestet zu haben. Aber so in etwa:
Sub Aufruf()
Call URL_Load("http://tabelle.de?h=1")
End Sub
Private Sub URL_Load(sURL)
Dim appIE
Dim sTxt
Set appIE = CreateObject("InternetExplorer.Application")
appIE.navigate sURL
Do: Loop Until appIE.Busy = False
Do: Loop Until appIE.Busy = False
sTxt = appIE.document.DocumentElement.outerHTML
Set appIE = Nothing
CreateObject("Scripting.FileSystemObject").CreateTextFile("test.txt").Write sTxt
MsgBox "Der Text wurde gespeichert unter: test.txt"
End Sub
E.
Bei vbs benötigt man keine "Sub...End Sub" um die Subroutine auszuführen.
Einfach die Subroutine direkt aufrufen.
PS: Ich habe es nicht getestet!
Einfach die Subroutine direkt aufrufen.
Call URL_Load("http://tabelle.de?h=1")
Private Sub URL_Load(sURL)
Dim appIE
Dim sTxt
Set appIE = CreateObject("InternetExplorer.Application")
appIE.navigate sURL
Do: Loop Until appIE.Busy = False
Do: Loop Until appIE.Busy = False
sTxt = appIE.document.DocumentElement.outerHTML
Set appIE = Nothing
CreateObject("Scripting.FileSystemObject").CreateTextFile("test.txt").Write sTxt
MsgBox "Der Text wurde gespeichert unter: test.txt"
End Sub
Zitat von @Wusldusl:
Kann es sein, dass die txt bereits angelegt ist und er hier das Problem hat, dass er die test.txt nicht erstellen kann (weil schon existiert)?
Ja. Aber das findest Du selbst im Web, wenn Du Dir mal die Syntax von Scripting.FileSystemObject.CreateTextFile anzeigen lässt. Dafür gibt es einen Parameter.Kann es sein, dass die txt bereits angelegt ist und er hier das Problem hat, dass er die test.txt nicht erstellen kann (weil schon existiert)?
kann man eigentlich irgendwie prüfen, ob bereits Werte in einer TXT stehen? Ich würde nämlich Werte ständig auslesen wollen aus der Abfrage und in der TXT zum bestehenden Text anhängen wollen (also nicht überschreiben)?
Ja, sowas geht.