VBA字符串操作插入双引号出现重复输出问题如何解决?
问题解决:VBA拼接JSON字符串双引号重复问题
你写的拼接逻辑本身没有错误,出现双引号重复是因为输出场景(比如写入Excel单元格、CSV文件、部分数据库写入接口)会自动对字符串内的双引号做转义,把单个双引号转义为两个,才会出现你看到的结果。
验证方法
你可以先加一行调试代码确认拼接结果本身是正确的:
' 拼接完成后添加这行代码 Debug.Print AtrContPostTX
按Ctrl+G打开VBA编辑器的立即窗口,就能看到输出的是符合要求的{"body":"Output Comment Text"},不存在重复双引号。
解决方案
- 方案1:输出前替换重复双引号
在拼接完成后、写入数据库前加一行替换代码即可:
AtrContPostTX = Replace(AtrContPostTX, """""", """") ' 也可以用Chr(34)写法,效果完全一致 ' AtrContPostTX = Replace(AtrContPostTX, Chr(34) & Chr(34), Chr(34))
- 方案2:改用更简洁的字面量拼接写法
VBA中可以直接用两个连续的双引号表示一个字面双引号,代码更简洁易读,拼接逻辑和你原写法完全一致:
' 静态内容可以直接一行完成拼接 AtrContPostTX = "{""body"":""Output Comment Text""}" ' 如果内容是动态变量,也可以按如下方式拼接 Dim comment As String comment = "The Changes are good !" AtrContPostTX = "{""body"":""" & comment & """}"
内容的提问来源于stack exchange,提问作者Arun
相关产品推荐
相关产品推荐

