[英]How to retrieve the sender email address
我在 Outlook 2013 中編寫了一個宏,我需要在其中檢索發件人電子郵件地址作為字符串
一個簡單的版本是
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim oMail As MailItem
Set oMail = Item
Dim sender as String
sender = oMail.SenderEmailAddress
End Sub
以上效果很好。
我現在已經向 Outlook 添加了一個新的電子郵件帳戶,這就是問題所在。
如果我創建一個新電子郵件,它將使用我的 default@mail.com 電子郵件地址。 如果我然后更改從其發送電子郵件的帳戶(到 myOtherAccount@mail.com),VBa 中的 SenderEmailAddress 不會反映此更改......它仍然顯示(在監視窗口中)為 default.mail.com
我怎樣才能讓 Outlook 重新檢查發件人(因為我認為它在某個地方緩存了它)?
所有與發件人相關的屬性都在ItemSend
事件觸發后設置。 您最早可以看到發件人屬性是在“已發送郵件”文件夾上觸發Items.ItemAdd
事件時。
只需在 application:startup 中定義您的文件夾
Public Sub Application_Startup()
Set myNameSpace = Application.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderSentbox)
結束子
然后只需將上面的代碼更改為 itemAdd 事件,例如
Private Sub myFolder_ItemAdd(ByVal item As Object)
嘗試這個:
senderEmail = Item.SendUsingAccount
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.