2013-05-08 22 views
0

我想要得到的未讀的郵件是從特定sender.i的電子郵件地址,嘗試下面的代碼,但它did'nt工作從特定地址獲取未讀電子郵件在Outlook中使用VB腳本

Set olApp=CreateObject("Outlook.Application") 
Set olMAPI=olApp.GetNameSpace("MAPI") 
Set oFolder = olMAPI.GetDefaultFolder(6) 
Set allEmails = oFolder.Items 

For Each email In oFolder.Items 


If email.Unread = True Then 
If email.SenderEmailAddress="[email protected]" Then 

MsgBox email.Subject 


End If 
End If 
Next 

所以我檢查什麼是真正「email.SenderEmailAddress」與驗證,然後通過插入這段代碼

For Each email In oFolder.Items 

If email.Unread = True Then 

MsgBox email.Subject 
MsgBox email.SenderEmailAddress 


End If 
Next 

它給了我一些輸出不能被理解,但readable.Please讓我知道它的任何解決方案。

回答

0

迪歐你的意思是你有,而不是返回的EX型地址預期的SMTP?

你看過_ExchangeUser.PrimarySmtpAddress嗎? 在你的情況下,你可以使用MailItem.Sender.GetExchangeUser.PrimarySmtpAddress。準備好處理空值,因爲每個值都可以爲空。

+0

謝謝:)你是對的,這是EX型address.your解決方案爲我工作。 – raghu 2013-05-09 05:06:55

0

您發佈爲我工作的代碼,我在Windows Vista上使用Outlook 2007

有一件事我會改變的是這個

 

     If LCase(email.SenderEmailAddress) = LCase("[email protected]") Then 
      wscript.echo email.Subject 
     End If 

相關問題