2

受信トレイをスキャンし、誰が私に多くのメールを送信しているかを特定し、それらを新しい連絡先として個人アドレス帳に自動的に追加する VBA マクロを作成しています。

まず、受信トレイ内のすべての電子メールを調べて、Microsoft Exchange サーバー上の SenderEmailAddress を表示する非常に単純な VBA を作成しました。

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 全体をスキャンすることが含まれます。これは、(文字通り) 何万ものエントリがある会社では、効率的でも実用的でもないように思われます。 IT部門。

したがって、電子メール アドレス ( /O=MYCOMPANY/OU=EUROPE/CN=RECIPIENTS/CN=RICHARDに似たもの) が与えられた場合、GAL でこの連絡先を検索して取得できるようにする最善の方法は何ですか? 「電話」、「アシスタント」、「タイトル」、「モバイル」フィールドを保持しますか?

Outlook 2003 を使用しています。

4

1 に答える 1

0

GAL で何ができるかについては、私はあまり詳しくありませんが、会社での設定方法によっては、これらのフィールドの代わりに Active Directory にクエリを実行してみることができます。アドレス帳を効果的に「ダウンロード」する必要がないように、特定のユーザーに対してクエリを実行できます。

VBA 経由でアクセスする方法に関する多くの情報に加えて、http://www.rlmueller.net/ADOSearchTips.htmで開始するためのいくつかの例があります。

于 2011-02-24T23:30:48.337 に答える