VBA 中的 Writeline 因文本太长而中断
Writeline in VBA breaks with too long text
我正在自动提取网页并将内容写入文本 (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
当内部HTML的长度在 25800 和 28000 之间(我还没有想出确切的限制)时它会中断。
有谁知道是否可以增加 WriteLine 限制或建议以不同的方式做到这一点?
假设 .innerHTML
可以成功读入字符串(拆分 reading/writing 找出),你应该可以使用 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
我正在自动提取网页并将内容写入文本 (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
当内部HTML的长度在 25800 和 28000 之间(我还没有想出确切的限制)时它会中断。
有谁知道是否可以增加 WriteLine 限制或建议以不同的方式做到这一点?
假设 .innerHTML
可以成功读入字符串(拆分 reading/writing 找出),你应该可以使用 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