excel - 发送短信的 VBA 问题
问题描述
我有我的 Excel 应用程序的代码。它会生成一张产品发票,每次生成发票时,它都会发送当前的账单金额以及感谢信息。我购买了一个批量 SMS 帐户,他们为我提供了 API。
我正在使用“ActiveWorkbook.FollowHyperlink”方法发送短信,但它发送短信 2 次。谁能告诉我为什么这种方法会发送 2 次短信?
我编写了以下程序:
Sub Macro1()
Dim murl As String
murl = "<< SMS API HERE >>"
ActiveWorkbook.FollowHyperlink Address:=murl
End Sub
解决方案
考虑对您的 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”的引用,您就可以摆脱这些Object
和CreateObject
部分 - 发送这样的请求非常有用.
如果它有助于解决您的问题,请不要忘记将答案标记为正确。
推荐阅读
- reactjs - 组件中的反应组件
- python - scapy 代码: srp(Ether()/ARP(pdst="192.168.0.100"), timeout=1, inter=0.2) 有时可以收到答案,通常不能
- excel - 如何按数组中的元素求和?
- zsh - ZSH如何绑定unicode字符?
- html - 在 div 的另一侧覆盖一个 div
- graphql - 无法理解此错误的含义
- c# - Razor Core 安装 jquery.unobtrusive.ajax 缺少 js 文件
- arrays - 在 Unix 中减少多个 IF ELSE 条件,实现数组
- python - 给定一个包含大写字母 (AZ) 的字符串,使用运行长度编码压缩字符串
- sql - 如何在 SSMS 中合并具有不同数量和列顺序的两个表?