vba - 使用 vba 发送对象(json)
问题描述
我正在尝试使用 vba 在 Outlook 中发送 json 对象。这是我的代码:
Dim Msg As Outlook.MeetingItem
Set Msg = Item
Set recips = Msg.Recipients
Dim regEx As New RegExp
regEx.Pattern = "^\w+\s\w+,\sI351$"
Dim URL As String
URL = "https://webhook.site/55759d1a-7892-4c20-8d15-3b8b7f1bf3b3"
For Each recip In recips
If regEx.Test(recip.AddressEntry) And recip.AddressEntry <> "Application Management Linux1, I351" Then
Dim convertedJson As Object
Set convertedJson = JsonConverter.ParseJson("{""fields"": 123}")
Set xhr = CreateObject("MSXML2.ServerXMLHTTP.6.0")
xhr.Open "POST", URL, False
xhr.setRequestHeader "Content-Type", "application/json"
xhr.Send (convertedJson)
End If
Next
如果我只发送平面文本,效果很好,但我不能发送convertedJson
。是否可以发送对象?
更新
我什至做不到Debug.Print convertedJson
解决方案
我被这些图书馆折磨到最后我做了一件非常可怕的事情
Dim flds, prt, id, smry, descrp, issu, name, lfbrkt, rtbrkt, cma, dbdots, jsTest, issuName As String
flds = "'fields'"
prt = "'project'"
id = "'id'"
smry = "'summary'"
descrp = "'description'"
issu = "'issuetype'"
issuName = "'Improvement'"
name = "'name'"
lfbrkt = "{"
rtbrkt = "}"
cma = ","
dbdots = ":"
jsTest = lfbrkt + flds + dbdots + " " + lfbrkt + vbCrLf + vbTab + prt + dbdots + " " + lfbrkt + vbCrLf + vbTab + vbTab + id + dbdots + " " + "30611" + vbCrLf + vbTab + rtbrkt + cma + vbCrLf + vbTab + smry + dbdots + " " + "'" + CStr(Msg.Subject) + "'" + cma + vbCrLf + vbTab + descrp + dbdots + " " + "'" + CStr(Msg.Body) + "'" + cma + vbCrLf + vbTab + issu + dbdots + " " + lfbrkt + vbCrLf + vbTab + vbTab + name + dbdots + " " + issuName + vbCrLf + vbTab + rtbrkt + vbCrLf + rtbrkt + rtbrkt
我得到了这个
推荐阅读
- google-authentication - 使用 uBlock Origin 阻止“使用 Google 登录”iframe
- java - 如何在 quickblox android 上更新 chatMessage
- mongodb - 使用 Mongo 的 $graphLookup 连接两个集合
- deployment - Vercel Next.js 简单 Next.js 代码的构建错误
- sql - 在 SQL 中查找事件之间的最小天数
- python - Python:获取时间序列线性图中曲线的开始和结束时间
- ruby-on-rails - 无法在 Cloudinary 上获取远程媒体
- julia - julia :术语“julia”不被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果
- python - 使用 PIL Python 进行双色线性渐变定位
- javascript - 是否可以在打字稿/角度进行精确倒计时?