【发布时间】:2016-09-23 03:10:31
【问题描述】:
Const vbDoubleQuote As String = """" 'represents 1 double quote (")
Const vbSingleQuote As String = "'" 'represents 1 single quote (')
Private WithEvents myOlItems As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set myOlItems = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub myOlItems_ItemAdd(ByVal item As Object)
Dim Msg As Outlook.MailItem
Dim Title As String
Dim Body As String
Dim Message As String
Set Msg = item
Title = Msg.Subject
Body = Msg.Body
TargetURL = "https://api.pushbullet.com/v2/pushes"
Set HttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
HttpReq.Option(4) = 13056
HttpReq.Open "POST", TargetURL, False
HttpReq.SetCredentials "user", "password", 0
HttpReq.setRequestHeader "Authorization", "Bearer myAPI"
HttpReq.setRequestHeader "Content-Type", "application/json"
Message = "{""channel_tag"": ""myChannel"", ""type"": ""note"", ""title"": " & _
vbDoubleQuote & Title & vbDoubleQuote & ", ""body"": " & _
vbDoubleQuote & Body & vbDoubleQuote & "}"
HttpReq.Send (Message)
大家好,如果这个问题对你们来说太简单了,我很抱歉,但我对此一无所知。
上面是我的代码,在消息中我把标题放在代码中间来阅读我定义的内容:
(""title"": " & _
vbDoubleQuote & Title & vbDoubleQuote & ") as "Title = Msg.Subject".
但仍然在推送没有任何消息的空消息,只是一个空消息。
我是否错误地定义了字符串?
【问题讨论】:
-
在
HttpReq.Send行之前添加Debug.Print Message并在即时窗口中查看它。它看起来正确吗? -
嗨@Comintern,感谢您的帮助,添加该行后,消息根本没有推送到我的 PushBullet。我注意到,每当我在“Set Msg = item”之后定义一些东西时,代码就会完全停止推送......
标签: vba outlook pushbullet