1

私の Outlook アドインでは、SelectNamesDialog を起動して、GAL に設定された連絡先を選択しています。特定の会社の連絡先の例を探すために事前検索を実行したいと思います (スクリーンショットを参照)。これが実際に実行可能なものかどうか知っていますか? 不足しているインターフェイスはありますか? 私のコードをいくつかの失敗したタイアウトで見ることができます。

ここに画像の説明を入力

Outlook.SelectNamesDialog snd = Globals.ThisAddIn.Application.Session.GetSelectNamesDialog();

Outlook.AddressList contactsAddrList = null;
Outlook.AddressList gal = Globals.ThisAddIn.Application.Session.GetGlobalAddressList();

String company = "My Company";

// Try to look > Dead code not working
//Outlook.MAPIFolder galFolder = Globals.ThisAddIn.Application.GetNamespace("MAPI").GetDefaultFolder(Outlook.OlDefaultFolders.);
//String sScope = "SCOPE ('shallow traversal of " + (char)34 +  + (char)34 + "')";
//String sFilter = (char)34 + "urn:content-classes:person" + (char)34 + " LIKE 'RE:%'";
//Outlook.Search search = Globals.ThisAddIn.Application.AdvancedSearch(sScope, sFilter, false, company);
//contactsAddrList = search.Save(company).;

// Set InitialAddressList to Contacts folder AddressList.
snd.SetDefaultDisplayMode(Outlook.OlDefaultSelectNamesDisplayMode.olDefaultSingleName);
snd.InitialAddressList = contactsAddrList;
snd.AllowMultipleSelection = false;
snd.ForceResolution = true;
snd.ShowOnlyInitialAddressList = true;
snd.Display();
4

1 に答える 1

0

これを Outlook オブジェクト モデルや Redemption で呼び出す方法はありません。
これは、拡張 MAPI レベル (C++ または Delphi) で実行できます。IMAPIContainer として PR_SEARCH プロパティを開き、さまざまなプロパティ (PR_DISPLAY_NAME、PR_ACCOUNT など) を設定してから、IMAPIContainer::GetContentsTable を呼び出します。

于 2013-01-28T21:24:27.513 に答える