如何在 VBA 中包含 .NET 类?

How to include .NET classes in VBA?

我是 VBA 的新手,现在想为发送 JSON 消息的 Outlook 创建代码。它不编译。

Compile error: expected end of statement

Compile error: expected =

这是代码:

Imports System.Net
Imports System.IO
Imports System.Text

Public Sub SendMessage(mail As MailItem)
    Dim uri As New Uri("http://myip:9050/message")

    Dim req As Net.HttpWebRequest = Net.WebRequest.Create(uri)
    req.Method = "PUT"
    req.Accept = "application/json;"
    req.ContentType = "application/json; charset=UTF-8"

    Dim jsonString As String = "{ ""message"" : """ + mail + """ }"
    Dim jsonDataBytes = System.Text.Encoding.UTF8.GetBytes(jsonString)
    req.ContentLength = jsonDataBytes.Length

    Dim stream As IO.Stream = req.GetRequestStream()
    stream.Write(jsonDataBytes, 0, jsonDataBytes.Length)
    stream.Close()

    req.GetResponse()

End Sub

或视觉上:

我怎样才能让它也起作用?

VBA 和.Net 是不同的世界。

在那种情况下,我建议开发一个 Outlook 加载项(例如,基于 VSTO),您可以在其中使用所有 BCL 类。请参阅 Walkthrough: Creating Your First Application-Level Add-in for Outlook 以快速入门。

此外,您可能会发现 MSDN 中的 Outlook Solutions 部分很有帮助。