Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 发送SMS时出现VBA问题_Excel_Vba_Api_Sms - Fatal编程技术网

Excel 发送SMS时出现VBA问题

Excel 发送SMS时出现VBA问题,excel,vba,api,sms,Excel,Vba,Api,Sms,我有一个Excel应用程序的代码。它生成一张产品发票,每次生成发票时,它都会发送当前账单金额以及感谢信息。我已经购买了一个批量短信帐户,他们为我提供了API 我正在使用“ActiveWorkbook.FollowHyperlink”方法发送短信,但它发送了两次短信。有人能告诉我为什么这种方法会发送两次短信吗??? 我编写了以下程序: Sub Macro1() Dim murl As String murl = "<< SMS API HERE >>" ActiveW

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

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

我编写了以下程序:

Sub Macro1()

Dim murl As String

murl = "<< SMS API HERE >>"

ActiveWorkbook.FollowHyperlink Address:=murl

End Sub
Sub宏1()
朦胧如弦
murl=“>”
ActiveWorkbook.FollowHyperlink地址:=murl
端接头

考虑对API使用原始GET请求,下面是一个使用后期绑定将GET请求发送到google页面的示例,
MsgBox
行仅显示来自google的响应,您可以用自己的API URL替换google.co.uk 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”的引用,您可以摆脱
对象
创建对象
部分-发送这样的请求非常有用


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

考虑对API使用原始GET请求,下面是一个使用后期绑定将GET请求发送到google页面的示例-
MsgBox
行仅显示来自google的响应,您可以用自己的API URL替换google.co.uk 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”的引用,您可以摆脱
对象
创建对象
部分-发送这样的请求非常有用


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

您实际如何调用
Macro1()
?您是否尝试过使用F8单步执行以查看它是否实际被命中两次,您是否尝试过以另一种方式调用相同的API方法以确保复制不在站点端?是的,我尝试了所有方法。我还试着用F8单步执行,它实际上是单打。我注意到,它将在浏览器加载时发送SMS,并在浏览器成功加载后发送第二条消息。我建议使用
MSXML2.ServerHTTP60
对象向URL发送get请求,而不是打开浏览器。我将发布一个示例作为答案。您实际上是如何调用
Macro1()
?您是否尝试过使用F8单步执行以查看它是否实际被命中两次,您是否尝试过以另一种方式调用相同的API方法以确保复制不在站点端?是的,我尝试了所有方法。我还试着用F8单步执行,它实际上是单打。我注意到,它将在浏览器加载时发送SMS,并在浏览器成功加载后发送第二条消息。我建议使用
MSXML2.ServerHTTP60
对象向URL发送get请求,而不是打开浏览器。我将发布一个示例作为答案。