次の方法で共有


アドレス帳から名前を表示する

このトピックでは、アドレス帳について説明すると共に、アドレス帳にある名前をプログラムによって [Outlook アドレス帳] ダイアログ ボックスに表示する方法を示します。

Outlook は、セッションで使用されるアドレス帳の階層を維持しています。 トランスポート プロバイダーによってメッセージが配信されるようにするためには、この階層内のアドレス帳のいずれかに受信者のアドレス エントリが含まれている必要があります。

アドレス帳には 1 つまたは複数のアドレス一覧が含まれます。 それぞれのアドレス一覧は、ユーザー、配布リスト、またはその他の種類のアドレス エントリから構成されます。 アドレス一覧の 1 つの例として、Exchange のグローバル アドレス一覧があります。 Outlook のユーザー インターフェイスでは、[アドレス帳] ダイアログ ボックスを開くことにより、アドレス一覧にある名前を確認して選択できるようになっています。 メール アイテムや予定アイテムを作成したり、タスクアイテムを割り当てたりするときは、アドレス帳を使用すると受信者を簡単に選択できます。

Outlook アドレス帳は、Outlook によって自動的に作成されるアドレス一覧または複数のアドレス一覧のセットです。 既定では、少なくとも 1 つのメール アドレスまたは FAX 番号エントリを持つ連絡先フォルダー内の連絡先の 1 つのアドレス一覧が含まれます。 連絡先を保存する他のフォルダーを作成すると、既定では、作成した各フォルダーも Outlook アドレス帳のアドレス一覧になります。 フォルダーの [プロパティ] ダイアログ ボックスの [Outlook アドレス帳] タブで、[このフォルダーをメール アドレス帳として表示する] を選択または選択解除できます。

プログラミングの観点から、Outlook は現在のセッションの AddressLists のコレクションを保持します。 それぞれのアドレス一覧 ( AddressList ) は、アドレス エントリのコレクション ( AddressEntries ) で構成されます。 アドレス一覧にはさまざまな種類 ( OlAddressListType で列挙される) と、さまざまな種類のアドレス エントリ ( OlAddressEntryUserType によって列挙される) があります。 連絡先を保存するフォルダーを追加するときは、 Folder.ShowAsOutlookAB を使用して、そのフォルダーが Outlook アドレス帳にアドレス一覧として表示されるようにするかどうかを指定できます。

Recipient オブジェクトは、Recipient.Address プロパティで指定された AddressEntry オブジェクトに関連付けられています。 AddressEntry.AddressEntryUserType プロパティを使用して、受信者が連絡先アイテム、Exchange ユーザー、Exchange 配布リストのいずれであるかなど、受信者の種類を識別することもできます。

SelectNamesDialog オブジェクトを使用すると、Outlook ユーザー インターフェイスの [名前の選択] ダイアログ ボックスに似たダイアログ ボックスのアドレス一覧の名前を表示できます。 次の図は、連絡先フォルダーを表示している [ 名前の選択] ダイアログ ボックスの例です。

ダイアログ ボックスを使用すると、ユーザーはアドレス帳の 1 つ以上のアドレス一覧からエントリを選択でき、 SelectNamesDialog.Recipients プロパティで選択した受信者を返します。 SelectNamesDialog オブジェクトのプロパティおよびメソッドを使用すると、ダイアログ ボックスの次のような動作を制御できます。

  • ダイアログ ボックスに表示される初期のアドレス一覧と、そのアドレス一覧だけを表示するかどうか。

  • 受信者を選択するフィールドの数。たとえば、[宛先]、[CC]、および [BCC] の 3 つのラベルをすべて表示するかどうか。

  • 該当する場合は、タイトル、 ToCcBcc ラベルを表す文字列。 タイトルやラベルが長すぎる場合は、ダイアログ ボックスの幅が広がるのではなく、文字列が切り捨てられます。

  • ユーザーが一度に 1 つ以上のアドレス エントリを選択できるかどうか。

  • ダイアログ ボックスを閉じる前に、受信者の名前を解決するかどうか。

  • 解決できない受信者が存在する場合にどうするか。

アドレス一覧から名前を表示するダイアログ ボックスを表示するには、次の操作を行います。

  1. 現在のセッションの GetSelectNamesDialog メソッド ( Application.Session によって示されます) を使用して、現在のセッションの SelectNamesDialog オブジェクトのインスタンスを取得します。

  2. 現在のセッションの AddressLists プロパティを使用して、現在のセッションの AddressLists のコレクションを取得します。

  3. 既定では、ダイアログ ボックスは AddressList.IsInitialAddressListTrue に設定されているアドレス一覧で初期化されます。 必要に応じて、 SelectNamesDialog.InitialAddressList を 使用して、手順 2 の AddressLists コレクションの別の AddressList でダイアログ ボックスを初期化できます。

  4. SelectNamesDialog.Display を使用してダイアログ ボックスを表示します。 このメソッドは、 SelectNamesDialog.ForceResolution の値とユーザーの応答によって、 True または False を返します。

    • SelectNamesDialog.ForceResolution が設定され、選択したすべての名前が解決され、ユーザーが [OK] をクリックすると、このメソッドは True を返します。
  • SelectNamesDialog.ForceResolution が設定されているが、すべての受信者が解決されるわけではない場合、False が返されます。

  • SelectNamesDialog.ForceResolution が設定されておらず、ユーザーが [OK] をクリックすると、False が返されます。

  • ユーザーが [キャンセル] または [閉じる] アイコンをクリックすると、False が返されます。

  1. SelectNamesDialog.DisplayTrue を返す場合は、SelectNamesDialog.Recipients を使用して選択したアドレス エントリを取得します。

関連項目

使い方: ストアのグローバル アドレス一覧またはアドレス一覧のセットを調べる

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。