如何在 VBA 中发送 Pushover
How to send Pushover in VBA
通过 VBA 发送 Pushover 的最佳方法是什么?
在 Pushover 网站 code example 中,我没有找到 VBA 示例。
他是函数。
PS: 我用一个辅助函数来格式化字符串
测试函数:
Public Sub Test()
Debug.Print PushOverPost("myApplication", "mySubscriptionGroup", "Hello Whosebug!")
End Sub
Pushover函数:
' Send a post via PushOver
' @param In application as String: The application's token
' @param In group as String: The user/group token
' @param In message as String: The message that you want to send
' @return as String(): The post response
Public Function PushOverPost(ByVal application As String, ByVal group As String, ByVal message As String) As String
Dim xhttp As Object, params As String, url As String
Set xhttp = CreateObject("MSXML2.ServerXMLHTTP")
params = StringFormat("token={0}&user={1}&message={2}", application, group, message)
url = "https://api.pushover.net/1/messages.json"
With xhttp
.Open "POST", url, False
.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
.send params
PushOverPost = .responseText
End With
End Function
辅助功能:
' Generate a string using .NET format, i.e. {0}, {1}, {2} ...
' @param In strValue as String: A composite format string that includes one or more format items
' @param In arrParames as Variant: Zero or more objects to format.
' @return as String: A copy of format in which the format items have been replaced by the string representations of the corresponding arguments.
' @example: Debug.Print StringFormat("My name is {0} {1}. Hey!", "Mauricio", "Arieira")
Public Function StringFormat(ByVal strValue As String, ParamArray arrParames() As Variant) As String
Dim i As Integer
For i = LBound(arrParames()) To UBound(arrParames())
strValue = Replace(strValue, "{" & CStr(i) & "}", CStr(arrParames(i)))
Next
StringFormat = strValue
End Function
通过 VBA 发送 Pushover 的最佳方法是什么? 在 Pushover 网站 code example 中,我没有找到 VBA 示例。
他是函数。
PS: 我用一个辅助函数来格式化字符串
测试函数:
Public Sub Test()
Debug.Print PushOverPost("myApplication", "mySubscriptionGroup", "Hello Whosebug!")
End Sub
Pushover函数:
' Send a post via PushOver
' @param In application as String: The application's token
' @param In group as String: The user/group token
' @param In message as String: The message that you want to send
' @return as String(): The post response
Public Function PushOverPost(ByVal application As String, ByVal group As String, ByVal message As String) As String
Dim xhttp As Object, params As String, url As String
Set xhttp = CreateObject("MSXML2.ServerXMLHTTP")
params = StringFormat("token={0}&user={1}&message={2}", application, group, message)
url = "https://api.pushover.net/1/messages.json"
With xhttp
.Open "POST", url, False
.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
.send params
PushOverPost = .responseText
End With
End Function
辅助功能:
' Generate a string using .NET format, i.e. {0}, {1}, {2} ...
' @param In strValue as String: A composite format string that includes one or more format items
' @param In arrParames as Variant: Zero or more objects to format.
' @return as String: A copy of format in which the format items have been replaced by the string representations of the corresponding arguments.
' @example: Debug.Print StringFormat("My name is {0} {1}. Hey!", "Mauricio", "Arieira")
Public Function StringFormat(ByVal strValue As String, ParamArray arrParames() As Variant) As String
Dim i As Integer
For i = LBound(arrParames()) To UBound(arrParames())
strValue = Replace(strValue, "{" & CStr(i) & "}", CStr(arrParames(i)))
Next
StringFormat = strValue
End Function