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

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 & """}}}}"

错误原因说明

  1. 字符串包裹规则:VBA中字符串必须用双引号"包裹,你原代码未将整个JSON结构放在双引号内,导致VBA把{}等符号识别为语法错误。
  2. 双引号转义:JSON中的双引号在VBA字符串里需要转义,必须用两个连续的双引号""代替单个双引号,否则VBA会判定字符串提前结束。
  3. 变量拼接位置:变量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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:53:24