gpt4 book ai didi

带有汉字的Excel VBA TextStream.writeline

转载 作者:行者123 更新时间:2023-12-04 21:40:56 27 4
gpt4 key购买 nike

我对 VBA 相当陌生,并且对如何解决执行此代码时收到的“运行时错误'5':无效的过程调用或参数”错误感到困惑。有问题的单元格有中文字符,代码似乎在英文字母上运行良好。流正在输出到文本文件。 (将来应该是一个xml文件,但我仍然没有实现所有正确的格式)

Dim fso As New FileSystemObject, stream As TextStream    
Set stream = fso.createTextFile("C:\Users\username\XMLs\" _
& WS_Src.Cells(c.Row, 5).Value & "_" & WS_Src.Cells(c.Row, 4).Value & "_Feature.xml", True)

...
stream.WriteLine "<title>" & vbCrLf & "<![CDATA[ " & WS_Src.Cells(c.Row, 6).Value & "]]>" & vbCrLf   & "</title>" 'error is on this line
stream.Close

谢谢!
克里斯

最佳答案

使用 CreateTextFile 的语法方法类似于 object.CreateTextFile(filename[, overwrite[, unicode]])
.在哪里:

  • filename : 必需的。标识要创建的文件的字符串表达式。
  • overwrite可选的。指示是否可以覆盖现有文件的 bool 值。如果文件可以被覆盖,则值为 True;如果它不能被覆盖,则为假。如果省略,则不会覆盖现有文件。
  • unicode可选的。指示文件是作为 Unicode 文件还是 ASCII 文件创建的 bool 值。如果文件创建为 Unicode 文件,则值为 True;如果它是作为 ASCII 文件创建的,则为 False。如果省略,则假定为 ASCII 文件。

  • 而且您在这里省略了最后一个参数,但是传入的文本是 Chinese不仅仅是 ASCII .相反,您必须提供 True值,我的意思是 unicode参数。这肯定会解决问题。

    顺便提一句!我仍然可以在代码中看到一些因素可能会导致其他运行时错误。
  • 通过连接单元格值生成文件名时,请确保路径字符串中不存在无效字符
  • 此外,仅设置 overwrite值为 true还不够,还要确保该文件夹已经存在。否则,该过程将再次被运行时错误捕获。

  • 希望这可以帮助。

    关于带有汉字的Excel VBA TextStream.writeline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11696988/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com