2016-09-23 11 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

あなたが閉じて、ライン継続の間、あなたの文字列を再度開く必要があります。

あなたはまた、vbDoubleQuote

のためのConstを宣言する必要があるかもしれません
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

関連する問題