2015-04-28 73 views
0

我的公司爲每個員工分配一個在Outlook中存儲爲「別名」的ID。我們經常使用這個ID,我正在尋找一種簡單的方法來查看它。
現在我在新電子郵件中輸入收件人姓名,雙擊名稱,點擊更多選項,然後點擊Outlook屬性。我正在尋找一個宏,在那裏我會在新電子郵件中輸入收件人姓名,然後運行只會彈出收件人的別名作爲消息框的宏(理想情況下將其複製到剪貼板)。我已經嘗試過(並失敗了),自己寫這個。Outlook 2010用於顯示收件人別名的VBA代碼

我到目前爲止的代碼如下。然而,這個代碼給出/ O = corpexchange/OU = Exchange管理組.....

我試圖讓它返回別名

Sub ReadRecpDetail2() 



Dim myOlApp As Outlook.Application 

Dim myItem As Outlook.MailItem 

Dim myRecipient As Outlook.recipient 

Dim recipient As Outlook.recipient 


Set myOlApp = GetObject(, "Outlook.Application") 

Set myItem = myOlApp.ActiveInspector.CurrentItem 


For Each recipient In myItem.Recipients 
    recipient.Resolve 
    MsgBox recipient.AddressEntry 

Next recipient 
    End Sub 

重新創建:

  1. 打開新的Outlook電子郵件
  2. 輸入電子郵件地址和解決
  3. 運行宏
+0

存儲究竟是如何被該別名?你是否以編程方式(你的代碼是什麼?)或通過Outlook UI? –

+0

別名存儲在全球聯繫人信息中,旁邊是名字和姓氏等。 – branden

+0

存儲方式如何?誰儲存它?交換或您的代碼?在前一種情況下,你是否指新臺幣帳戶名稱? –

回答

0

有了你們的幫助,我能夠通過捕捉收件人地址輸入到解決這個問題,將其添加爲新的項目,顯示別名,然後刪除收件人:

Sub ReadRecpDetail() 
Dim myOlApp As Outlook.Application 
Dim myItem As Outlook.mailItem 
Dim myRecipient As Outlook.recipient 
Dim recipient As Outlook.recipient 
Dim SMTPaddress As String 
Dim entry As Outlook.AddressEntry 
Dim entrystring As String 
Dim Copytoclipboard As New DataObject 

Set myOlApp = GetObject(, "Outlook.Application") 
Set myItem = myOlApp.ActiveInspector.CurrentItem 
Set recipient = myItem.Recipients.Item(1) 
Set myRecipient = myItem.Recipients.Add(recipient.AddressEntry) 

myRecipient.Resolve 
entrystring = myRecipient.AddressEntry.GetExchangeUser.Alias 
MsgBox (entrystring) 
Copytoclipboard.SetText entrystring 
Copytoclipboard.PutInClipboard 
myRecipient.Delete 

End Sub 
2

嘗試使用以下方法:

  1. 使用的命名空間類的CreateRecipient方法來創建一個收件人對象。
  2. 調用Recipient類的Resolve方法根據地址簿解析收件人對象。
  3. 獲取AddressEntry屬性值,返回與解析的收件人對應的AddressEntry對象。
  4. 調用AddressEntry類的GetExchangeUser方法,它將返回一個ExchangeUser對象,該對象表示AddressEntry屬於諸如全局地址列表(GAL)之類的Exchange地址列表對象並對應於Exchange用戶。
  5. ExchangeUser類的Alias屬性返回一個表示ExchangeUser別名的字符串。

您也許還會發現Getting Started with VBA in Outlook 2010文章有幫助。

+0

感謝尤金 - 我試過,但我很難從我寫的開放郵件(而不是宏添加收件人,然後顯示細節)中檢索當前收件人。你有可能發佈代碼嗎? – branden

+0

你現在用什麼代碼? –

+0

我試圖使用此[網站]上的代碼(http://www.electronmedia。in/wp/reading-outlook-recipient-details-jobtitle -alias-address-etc-through-vba /)但是無法讓它工作 – branden

相關問題