2016-09-23 102 views
1
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". 

但仍然在推什么,但空消息没有任何消息,只是一个空的消息。

我错误地定义了字符串吗?

+0

在'HttpReq.Send'行之前添加'Debug.Print Message'并在直接窗口中查看它。它看起来正确吗? – Comintern

+0

嗨@Comintern,感谢您的帮助,在添加该行后,邮件根本没有推送到我的PushBullet。 我注意到,当我在“Set Msg = item”后面定义一些东西时 代码停止推送.. – Sap1

回答

0

您需要关闭并重新打开线延续之间的字符串:

您可能还需要声明一个const为vbDoubleQuote

Const vbDoubleQuote As String = """" 

Message = "{""channel_tag"": ""myChannel"", ""type"": ""note""," & _ 
    """title"": " & _ 
    vbDoubleQuote & Title & vbDoubleQuote & ", ""body"": " & _ 
    vbDoubleQuote & Body & vbDoubleQuote & "}" 

给人

{“channel_tag “:”myChannel“,”type“:”note“,”title“:”MYTITLE“,”body“:”MYBODY“}

+0

hmm,@ComIntern编辑了这个问题,这个答案可能不再适用? – ThunderFrame

+0

它看起来像OP试图在我的复制和粘贴的标记中添加强行换行符。这可能或可能不准确。 – Comintern

+0

嗨@ThunderFrame,感谢您的帮助,但是在您的代码工作时定义消息。我正试图调用我在消息中称呼的函数。 改为“MYTITLE”,我需要它读取“Msg.Subject”,它是来自“Outlook.MailItem”的属性,它将读取电子邮件主题。 感谢您的帮助:) – Sap1

相关问题