2013-11-27 41 views
0

我試圖寫一個腳本,將獲取特定的電子郵件地址

  1. 經過電子郵件地址的列表,從我的域名
  2. 每個這些電子郵件addressess得到顯示名稱聯繫信息和職務
  3. 輸出的電子郵件,顯示姓名,職位爲CSV文件

我敢肯定這是相當簡單,我這裏唯一的問題是,我不知道如何訪問聯繫人CA聯繫人的聯繫人。

如何將strAddress變量傳遞給olContactItem對象?

編輯: 爲了改善這個問題 - 我不知道我怎麼能查看現有[email protected]從電子郵件地址列表中的一個CSV文件中的聯繫人(不添加到我的聯繫人列表或任何東西)

的代碼,我到目前爲止有:

Const olContactItem = 2 
strEmail = "[email protected]" 

set fso = CreateObject("Scripting.FileSystemObject") 
set appOutlook = CreateObject("Outlook.Application") 
Set MyItem = appOutlook.CreateItem(olContactItem) 
With MyItem 
    .Email1Address = strEmail 
    .jobTitle = strJobTitleVar 
End With 

我需要打開的那個人addess書頁,提取職位的價值和顯示名稱相關的變量。然而,我陷入了困境,因爲我得到了一個點,而不是添加新的聯繫人而不是查看現有人的信息。

這更清楚嗎?我如何通過地址簿搜索某個人的信息?

+0

我不確定你的問題是什麼;你是否有問題從GAL的AddressEntry對象中檢索數據?或者在創建的ContactItem對象上設置各種屬性? –

+0

我不知道如何爲特定的電子郵件地址調用ContactItem對象,然後從該對象中檢索多個屬性,即顯示名稱,標題等。 – Bartosz

+0

使用Namespace.CreateItem或MAPIFolder.Items.Add創建ContactItem。然後,您可以使用明確公開的屬性(AddressEntry.Name等)讀取各種屬性,也可以使用AddressEntry.PropertyAccessor.GetProperty讀取原始擴展MAPI屬性。 –

回答

0

回答我的問題 - 這似乎是在做我需要的一切:

strInputEmail = objInputFile.ReadLine 
set appOutlook = CreateObject("Outlook.Application") 
set objNameSpace = appOutlook.GetNameSpace("MAPI") 
set objContacts = objNameSpace.GetDefaultFolder(olFolderContacts) 
Set objContact = objContacts.Items.Find("[IMAddress] = """ & strInputEmail & """") 

strFullName = objContact.FullName 
strJobTitle = objContact.JobTitle 
strBusinessAddress = objContact.BusinessAddress 
msgBox strFullName & strJobTitle & strBusinessAddress 

它讀取inputfile中,獲取電子郵件地址作爲變量,發現人,獲取特定的信息作爲變量。

感謝您的幫助!

0

嘗試沿着以下幾行。要查看其他屬性及其DASL名稱是什麼,請使用OutlookSpy查看實時GAL對象:或者單擊IAddrBook按鈕並深入查看容器層次結構,或單擊IMAPISession | QueryIdentity以查看當前用戶或(如果您有特定收件人的郵件),單擊IMessage,轉到GetRecipientTable表,在收件人上加倍。
一旦你有了IMailUser窗口,選擇你需要的屬性並查看DASL編輯框。

Const olContactItem = 2 
strEmail = "[email protected]" 

set fso = CreateObject("Scripting.FileSystemObject") 
set appOutlook = CreateObject("Outlook.Application") 
set NS = appOutlook.GetNamespace("MAPI") 
NS.Logon 
set Recip = NS.CreateRecipient(strEmail) 
Recip.Resolve 
set AE = Recip.AddressEntry 
Set MyItem = appOutlook.CreateItem(olContactItem) 
With MyItem 
    .Email1Address = strEmail 
    'read PR_TITLE property 
    .jobTitle = AE.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3A17001F") 

末隨着

相關問題