Я пишу макрос VBA, который будет сканировать мой почтовый ящик, определять, кто мне много отправляет, а затем автоматически добавлять их (с несколькими выбранными полями) в качестве нового контакта в мою личную адресную книгу.
Для начала я написал довольно простой VBA, который просматривает все электронные письма в папке «Входящие» и отображает адрес SenderEmail для тех, кто находится на сервере Microsoft Exchange:
Dim objEmail As Outlook.MailItem
Set objNS = GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
For Each objEmail In objInbox.Items
If objEmail.SenderEmailType = "EX" Then
Debug.Print objEmail.SenderEmailAddress
End If
Next
У меня теперь есть адрес электронной почтыпоэтому следующим шагом будет поиск их в GAL.Однако решения, которые я видел, включают сканирование всей GAL, которая в компании, где есть (буквально) десятки тысяч записей, не кажется эффективной или практичной - и, вероятно, даст мне пощечину за руку.ИТ-отдел.
Итак, учитывая, что адрес электронной почты (который будет выглядеть примерно так: / O = MYCOMPANY / OU = EUROPE / CN = RECIPIENTS / CN = RICHARD ), что такоелучший способ найти этот контакт в глобальном списке адресов, чтобы я мог получить доступ к полям "телефон", "помощник", "заголовок" и "мобильный"?
Я использую Outlook 2003.