如何使用 VBScript 将网站数据保存到文件?
How can I save Website data to file using VBScript?
在下面的代码中,如何将文本保存到文本文件(例如text.txt)而不是当前的MsgBox
?
myURL = "http://URL.com"
Set oXMLHttp = CreateObject("MSXML2.XMLHTTP")
Set ohtmlFile = CreateObject("htmlfile")
oXMLHttp.Open "GET", myURL, False
oXMLHttp.send
If oXMLHttp.Status = 200 Then
ohtmlFile.Write oXMLHttp.responseText
ohtmlFile.Close
Set oTable = ohtmlFile.getElementsByTagName("table")
For Each oTab In oTable
MsgBox oTab.Innertext
Next
End If
WScript.Quit
请帮帮我!
谢谢!
您可以使用 FileSystemObject 的 OpenTextFile method。
您可以在代码顶部使用其他对象创建 FileSystemObject:
Set objFSO = CreateObject("Scripting.FileSystemObject")
并添加这些常量:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
如果您想将所有内容附加到同一个文件中,您可以在循环之外创建并打开该文件:
sFileName = "c:\text.txt"
Set objFile = objFSO.OpenTextFile(sFileName, ForAppending, True)
For Each oTab In oTable
objFile.WriteLine oTab.Innertext
Next
objFile.Close
否则您可以在循环中创建多个文件:
Dim iTableCounter
iTableCounter = 0
For Each oTab In oTable
iTableCounter = iTableCounter + 1
sFileName = "c:\table_" & iTableCounter & ".txt" ' create a dynamic file name using table name perhaps
Set objFile = objFSO.OpenTextFile(sFileName, ForWriting, True)
objFile.Write oTab.Innertext
objFile.Close
Next
在下面的代码中,如何将文本保存到文本文件(例如text.txt)而不是当前的MsgBox
?
myURL = "http://URL.com"
Set oXMLHttp = CreateObject("MSXML2.XMLHTTP")
Set ohtmlFile = CreateObject("htmlfile")
oXMLHttp.Open "GET", myURL, False
oXMLHttp.send
If oXMLHttp.Status = 200 Then
ohtmlFile.Write oXMLHttp.responseText
ohtmlFile.Close
Set oTable = ohtmlFile.getElementsByTagName("table")
For Each oTab In oTable
MsgBox oTab.Innertext
Next
End If
WScript.Quit
请帮帮我!
谢谢!
您可以使用 FileSystemObject 的 OpenTextFile method。
您可以在代码顶部使用其他对象创建 FileSystemObject:
Set objFSO = CreateObject("Scripting.FileSystemObject")
并添加这些常量:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
如果您想将所有内容附加到同一个文件中,您可以在循环之外创建并打开该文件:
sFileName = "c:\text.txt"
Set objFile = objFSO.OpenTextFile(sFileName, ForAppending, True)
For Each oTab In oTable
objFile.WriteLine oTab.Innertext
Next
objFile.Close
否则您可以在循环中创建多个文件:
Dim iTableCounter
iTableCounter = 0
For Each oTab In oTable
iTableCounter = iTableCounter + 1
sFileName = "c:\table_" & iTableCounter & ".txt" ' create a dynamic file name using table name perhaps
Set objFile = objFSO.OpenTextFile(sFileName, ForWriting, True)
objFile.Write oTab.Innertext
objFile.Close
Next