首页 > 解决方案 > 发送短信的 VBA 问题

问题描述

我有我的 Excel 应用程序的代码。它会生成一张产品发票,每次生成发票时,它都会发送当前的账单金额以及感谢信息。我购买了一个批量 SMS 帐户,他们为我提供了 API。

我正在使用“ActiveWorkbook.FollowHyperlink”方法发送短信,但它发送短信 2 次。谁能告诉我为什么这种方法会发送 2 次短信?

我编写了以下程序:

Sub Macro1()

Dim murl As String

murl = "<< SMS API HERE >>"

ActiveWorkbook.FollowHyperlink Address:=murl

End Sub

标签: excelvbaapisms

解决方案


考虑对您的 API 使用原始 GET 请求,这是一个使用后期绑定向 google 页面发送 GET 请求的示例 - 该MsgBox行只是显示来自 google 的响应,您可以将 google.co.uk URL 替换为您的自己的 API URL。

Public Sub Send_GET()
    Dim con As Object ' MSXML2.ServerXMLHTTP60
    Set con = CreateObject("MSXML2.ServerXMLHTTP") ' New MSXML2.ServerXMLHTTP60
    con.Open "GET", "https://www.google.co.uk", False
    con.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
    con.send
    MsgBox con.responsetext
End Sub

我使用了后期绑定,但是如果您想探索正确的对象和属性,那么在您的 VBA 项目中添加对“Microsoft XML v6.0”的引用,您就可以摆脱这些ObjectCreateObject部分 - 发送这样的请求非常有用.

如果它有助于解决您的问题,请不要忘记将答案标记为正确。


推荐阅读