You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA写入文件时添加引号等特殊字符报错问题求助

如何在VBA的Fileout.Write中写入包含引号的字符串?

嘿,这个问题我之前也踩过坑!在VBA里直接把双引号"放进字符串里的话,编译器会误以为是字符串的结束标记,自然就报错了。别担心,有两个简单又靠谱的解决方案:


方法1:用双引号转义双引号

VBA有个内置规则:在字符串字面量里,两个连续的双引号会被解析成一个实际的双引号字符。直接修改你的代码就行:

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim Fileout As Object
Set Fileout = fso.CreateTextFile("C:\users\Home\Desktop\vba.txt", True, True)
' 用两个""代替一个",实现写入带引号的内容
Fileout.Write "my string ""with quotes"" goes here"
Fileout.Close

运行这段代码后,文本文件里会显示:my string "with quotes" goes here


方法2:使用Chr(34)代替双引号

双引号的ASCII码是34,所以可以用Chr(34)函数生成双引号字符,通过字符串拼接的方式插入。这种方法在需要多次插入引号或者字符串较长时,可读性更好:

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim Fileout As Object
Set Fileout = fso.CreateTextFile("C:\users\Home\Desktop\vba.txt", True, True)
' 用Chr(34)拼接出带引号的字符串
Fileout.Write "my string " & Chr(34) & "with quotes" & Chr(34) & " goes here"
Fileout.Close

这段代码的效果和方法1完全一致,只是写法不同而已。


小提示:如果要写入的内容比较复杂,建议先把字符串赋值给一个变量(比如Dim outputStr As String),调试没问题后再用Fileout.Write写入,这样更容易排查问题~

内容的提问来源于stack exchange,提问作者Michael Warren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:52:55