2017-10-16 256 views
0

我想通過一個Excel VBA宏轉儲從Outlook整個GALExcel VBA中提取Outlook聯繫人的「註釋」屬性

我調整了代碼從下面的鏈接適合我的需要在Excel中: Excel Dump GAL

我能提取最常見的領域,但是我需要在以下幫助:

  1. 在Outlook中,當我們用鼠標右鍵單擊聯繫人&選擇「打開Outlook屬性」,我們得到如下窗口: Contact's Outlook Properties 在這個窗口中有一個我要爲用戶提取的「註釋」字段。 有人可以建議如何得到
  2. 用戶的任何生日字段?

注意:由於企業安全策略,我無法安裝outlookspy。

+0

所以你正試圖從你從地址列表(GAL)中檢索的AddressEntry對象中提取數據? –

+0

是的。但olMember.GetExchangeUser.Notes不會返回任何內容。在一些博客中,他們建議嘗試.Body。但是這也不會返回任何東西。注意:因爲我已經有了用戶的電子郵件地址,所以如果有另一種方式(不訪問AddressEntry對象)獲取「註釋」。我也願意在代碼中構建它 –

+0

您確實需要使用OutlookSpy或MFCMAPI來查看數據,以確保它甚至存在 –

回答

0

該屏幕截圖中的Notes編輯框綁定到PR_COMMENT_W屬性(DASL名稱http://schemas.microsoft.com/mapi/proptag/0x3004001F)。它應該通過AddressEntry.PropertyAccessor.GetProperty方法訪問。 ExchangeUser.Notes也應該正常工作。

+0

真棒!使用DASL的.PropertyAccessor.GetProperty做了訣竅。 ExchangeUser.Notes雖然沒有工作。你也可以建議是否有DASL來獲取用戶的生日? –

+0

你是否在GAL的地址簿中看到它? –

+0

沒有生日在標準的Outlook聯繫人字段中不可見,但查看鏈接https://www.codeproject.com/Tips/127769/Insert-Outlook-Contact-Birthdays-in-Calendar我想知道如果生日字段有一個DASL名稱可以傾倒? GetExchangeUser.Birthday不返回任何內容。 –