Excel 发送SMS时出现VBA问题
我有一个Excel应用程序的代码。它生成一张产品发票,每次生成发票时,它都会发送当前账单金额以及感谢信息。我已经购买了一个批量短信帐户,他们为我提供了API 我正在使用“ActiveWorkbook.FollowHyperlink”方法发送短信,但它发送了两次短信。有人能告诉我为什么这种方法会发送两次短信吗??? 我编写了以下程序: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
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请求,而不是打开浏览器。我将发布一个示例作为答案。