我正在自动提取网页并将内容写入文本(HTML)文件。
为此,我设置了这样的文件系统对象
Dim myHTMLfilepath As String
myHTMLfilepath = "C:\temp\MyFile.html"
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim myHTMLFile As Object
Set myHTMLFile = fso.createtextfile(myHTMLfilepath)
当我尝试将提取的内容写入文件时,有时会出现错误5(无效参数)。这是代码:
myHTMLFile.writeline objIE.document.getElementsByClassName("cool-box")(0).innerHTML
当innerHTML的长度在25800到28000之间时,它会中断(我还没有确切的限制)。
有人知道是否可以增加WriteLine限制,或者以其他方式建议这样做吗?
答案 0 :(得分:0)
假设.innerHTML
可以成功读取为字符串(拆分读/写以找出答案),则应该能够使用ADODB.Stream
将其写入文件。 WriteLine
旨在将一行文本写入文件,而不是整个文档。
Dim contents As String
contents = objIE.document.getElementsByClassName("cool-box")(0).innerHTML
With CreateObject("ADODB.Stream")
.Open
.Type = 1
.Write contents
.SaveToFile myHTMLfilepath, 2
.Close
End With