2011-01-18 8 views
2

私は自分の受信トレイをスキャンし、誰が私に電子メールを送信したのかを判断し、新しい連絡先として自分の個人アドレス帳に自動的に追加フィールドを追加するVBAマクロを作成しています。私は今、電子メールを持っているVBA:電子メールアドレスを指定すると、GALでそれらを検索する方法は?

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 

は、私は受信トレイ内のすべての電子メールを通じて見えますし、Microsoft Exchangeサーバー上にある人のためSenderEmailAddressを表示するいくつかの非常に単純VBAを書いて起動するには次のステップは、GALでそれらを検索することです。しかし、私が見た解決策はGAL全体をスキャンすることです。これは、文字通り何万ものエントリがある企業では、効率的で実用的ではないようです。 IT部門。

ので、メールアドレスにこの連絡先を検索するための最良の方法は何か、(と同様になります/ O = mycompanyの/ OU = EUROPE/CNがRECIPIENTS/CN = RICHARDを=)ことを考えます私は "電話"、 "アシスタント"、 "タイトル"と "モバイル"フィールドを得ることができるようにGAL?

私は私はあなたがGALで何ができるかにスピードまで本当にないです見通し2003に

答えて

0

を使用しています、しかし、それはあなたの会社にセットアップされた方法に応じて、あなたがのために代わりにActive Directoryを照会してみてくださいそれらのフィールド。特定のユーザーに対してクエリを実行すると、アドレス帳を効果的に "ダウンロード"する必要がなくなります。

VBA経由でアクセスする方法や、いくつかの例を紹介します。http://www.rlmueller.net/ADOSearchTips.htm

関連する問題