Word VBA宏中HttpRequest请求体JSON字符串语法错误求助
Word VBA中设置HttpRequest JSON请求体的语法错误解决办法
你在Word VBA中拼接JSON请求体时出现编译语法错误,核心问题是没有遵循VBA的字符串拼接和转义规则——虽然JSON结构本身有效,但VBA无法正确解析你的赋值语句。
修正后的代码
' Compose the request body Dim requestBody As String requestBody = "{""message"":{""subject"":""" & subject & """,""body"": {""content"": """ & body & """,""contentType"": ""Text""},""toRecipients"": {""emailAddress"": {""address"": """ & recipient & """}}}}"
错误原因说明
- 字符串包裹规则:VBA中字符串必须用双引号
"包裹,你原代码未将整个JSON结构放在双引号内,导致VBA把{}等符号识别为语法错误。 - 双引号转义:JSON中的双引号在VBA字符串里需要转义,必须用两个连续的双引号
""代替单个双引号,否则VBA会判定字符串提前结束。 - 变量拼接位置:变量
subject、body、recipient需要正确嵌入字符串,要确保每个变量前后的字符串部分都用双引号包裹,并通过&完成连接。
更易维护的写法
如果JSON结构复杂,建议拆分多行编写,提升可读性:
' Compose the request body (多行易读版) Dim requestBody As String requestBody = "{" & _ """message"": {" & _ """subject"": """ & subject & """," & _ """body"": {" & _ """content"": """ & body & """," & _ """contentType"": ""Text""" & _ "}," & _ """toRecipients"": {" & _ """emailAddress"": {" & _ """address"": """ & recipient & """" & _ "}" & _ "}" & _ "}" & _ "}"
内容的提问来源于stack exchange,提问作者East Anglian Sailing Trust
相关产品推荐
相关产品推荐

