開発者向け Outlook の新機能

このドキュメントでは、Microsoft Outlook 2013 の追加機能や拡張された機能 (メール アプリ、天気予報バー用のサード パーティの天気データ サービス、インライン返信を含む) について開発者向けの概要情報を提供します。また、Outlook Social Connector および Office Mobile Service の変更点、Outlook 2013 を前のバージョンの Outlook と共存させる機能のサポート、アドインに対する新しいパフォーマンス基準についても説明します。Outlook プラットフォームでの開発をすぐに始めたい開発者の皆様は、このドキュメントをお読みになれば、Outlook 2013 でコーディングを始めるために十分な情報を得ることができます。

概要

Outlook 2013 では、いくつかの新機能をプログラム可能にするサポートが提供されています。開発者は、Office アドインという新しいプラットフォームを土台にし、HTML や JavaScript などの Web ベースのツールを使用して、Outlook の閲覧ウィンドウや [インスペクター] ウィンドウ内に表示されるアプリを作成できます。従来の COM アドインとは異なり、DLL をユーザーのコンピューターにインストールしたり、既存の DLL を更新したりする必要がありません。ユーザーによってメール アプリが初期化されると、Office アドインの JavaScript オブジェクト モデルを使用して Outlook リッチ クライアントや Outlook Web App 内で選択されているメッセージに関するコンテキスト情報がメール アプリから提供されす。このアプリは Web サーバーで実行されており、その Web コンテンツを変更すると、Outlook クライアントで実行されているアプリに直ちに反映されます。

アプリのほかに、新しい天気予報バーのサポートが拡張され、Outlook Social Connector プロバイダーの拡張や Office Mobile Services に対する Outlook 2013 のサポートが変更されました。Outlook の共存やアドインのパフォーマンス モニターなど、その他の機能はオブジェクト モデルに直接関係することはありませんが、ソリューションの設計や構築の方法に影響を与えます。

開発者に関係する Outlook 2013 の重要な変更点は次のとおりです。

  • メール アプリ

  • 天気予報バー用のカスタム天気サービス

  • インライン返信やその他の Outlook オブジェクト モデルの機能拡張

  • Outlook Social Connector の機能拡張

  • Office Mobile Service のサポートの打ち切り

  • 以前のバージョンの Outlook との共存

  • アドインを有効に保つためのパフォーマンス基準

注意

この記事で紹介しているオブジェクト、プロパティ、メソッド、およびイベントは、Outlook 2013 の RTM リリースの時点で変更になる可能性があります。また、Outlook 2013 の RTM リリースの前に、オブジェクト モデルにその他の機能が導入される可能性もあります。開発したソリューションをリリースする前に、Outlook 2013 の RTM バージョンを入手して、コードの変更を必ずテストするようにしてください。

メール アプリ

Office アドインは、従来の Outlook アドインを作成して展開する必要なしに、Web サービスを直接 Outlook に組み込むことのできる新しい機能です。Outlook 2013 では、Outlook または Outlook Web App のユーザーにリッチで魅力的なエクスペリエンスを提供するメール アプリを、単一のコード ベースを使用して作成できます。メール アプリでは、Outlook の閲覧ウィンドウに隣接したアプリ ウィンドウ、または [インスペクター] ウィンドウが表示され、表示されているメッセージや予定に合わせた Web コンテンツが提供されます。アプリは、HTML や JavaScript などの広く普及した Web テクノロジを使用して作成します。なお、メール アプリには Exchange 2013 が必須であり、Exchange 2013 より前のバージョンの Exchange アカウントを持つユーザーや、POP3 または IMAP アカウントを持つユーザーはこのメール アプリを使用できません。

以下のセクションで、メール アプリのアーキテクチャ、アクティブ化ルール、およびセキュリティ モデルについて簡単に説明します。これらのセクションは総合的な技術リファレンスを意図したものではありません。マニフェスト スキーマ、ルールの条件、組み込みのエンティティとカスタム正規表現、JavaScript オブジェクト モデル、メール アプリの Office ストアへの提出に関する詳細は、「Office 用アプリの作成」を参照してください。

アーキテクチャ

メール アプリ プラットフォームのアーキテクチャは、美しいまでに簡潔です。Outlook リッチ クライアントまたは Outlook Web App などの Exchange クライアントは、Exchange サーバーからメール アプリのマニフェストをダウンロードします。その XML マニフェストはクライアントで実行され、ユーザーがメール メッセージまたは予定のどちらを選択した状態でアプリをアクティブ化したかを判断するための一連のルールを指定します。アクティブ化ルールが満たされると、アプリ ボタンがアプリ バーに表示されます。たとえば、図 1 では、選択したメール メッセージの内容に基づいて [Bing 地図] および [実施項目] の各メール アプリがアクティブ化され、アプリ バーに表示されています。

図 1. Outlook でコンテキストに応じて表示されるメール アプリ「Bing 地図」

Outlook の Bing Maps メール アプリ

メール アプリは、「アプリ ボタンがアプリ バーに表示された時点でアクティブ化された」と言うことができます。ユーザーがアプリ ボタンを選択すると、アプリ ウィンドウが表示され、Web サーバーによってホストされた Web ページにある JavaScript コード内の Initialize イベント ハンドラーが実行されます。図 2 は、Outlook クライアントが起動し、ユーザーが Outlook 内の項目を選択したときに実行されるプロセスを示しています。

図 2. メール アプリのアーキテクチャとスタートアップ プロセス

Outlook メール アプリ開始時のイベントのフロー

メール アプリの JavaScript コードからは、選択されているメッセージまたは予約アイテムのプロパティにアクセスできます。さらに、アプリは、アプリが要求したアクセス許可に応じて、カスタム プロパティ、列挙エンティティ (住所や提案された会議など)、または正規表現の一致にアクセスしたり、Exchange Web Service (EWS) 呼び出しを実行したりできます。

アクティブ化ルール

アクティブ化ルールは、メール アプリが Outlook クライアントのユーザー インターフェイスでアクティブ化されるタイミングを制御します。ルールは、XML マニフェストの中で定義し、閲覧ウィンドウまたは [インスペクター] ウィンドウで選択されているアイテムに対してルール評価エンジンによって適用されます。ルールが true に評価された場合、アプリ ボタンがアプリ バーに表示されます。ルールに関して、以下の点に注意してください。

  • 複数のルールを結合すると、アクティブ化に関して複雑なニーズに対応できます。

    論理演算子 And または Or を適用できます。

    正規表現を使用してルールを定義できます。

    ルールからは、電話番号、URL、住所などの既知のエンティティにアクセスできます。

ルールには、以下の種類があります。

ルールの種類

説明

ItemIs

アイテムが特定のタイプ (予定、メッセージ、またはカスタム メッセージ クラス) であることを確認するルールです。たとえば、次のように指定します。

```xml ```

ItemHasKnownEntity

アイテムが特定のエンティティを持っているかどうかを確認するルールです。たとえば、次のように指定します。

```xml ```

ItemHasRegularExpressionMatch

指定した正規表現に対する一致があるかどうかを確認するルールです。

RuleCollection

複数のルールで構成されたルール (And または Or を使用して結合する) を定義します。

なお、ルールでは、アプリ マニフェストで定義した既知のエンティティやカスタム正規表現を認識できることに注意してください。

"既知のエンティティ" とは何でしょうか? 既知のエンティティは、メッセージの転送中に Exchange サーバーによって解析され、ルール評価エンジンで使用できるようにメッセージにスタンプされます。次の表に、アクティブ化ルールを作成するために使用できるいくつかの既知のエンティティを示します。

既知のエンティティの種類

アクティブ化の条件

Address

米国の住所。例:

1 Microsoft Way, Redmond, WA 07722

Contact

他のエンティティに関連付けられた個人の名前。例:

Steve Ballmer, Microsoft, 1 Microsoft Way, Redmond, WA 98052

EmailAddress

SMTP メール アドレス。例:

someone@contoso.com

MeetingSuggestion

イベントまたは会議への参照。例:

次の火曜日に昼食で会いましょう。

PhoneNumber

米国の電話番号。例:

(425) 555-1212

TaskSuggestion

メールに含まれる実行可能な文。例:

私のコンピューターに Office 2013 をインストールしてください。

Url

ファイル名または Web アドレス。例:

https://microsoft.com

セキュリティ モデル

メールボックスには、ユーザーの秘密情報が含まれます。会社の設定であれば、メールボックスにはお客様、供給業者、会社の同僚との間の秘密情報が入っています。Outlook はその情報を保護し、メール アプリに対してその情報のセキュリティを保護することを要求します。ユーザーは、メール アプリを入手した時点で、アプリのマニフェストの中で要求されているアクセス許可レベルを許可する必要があります。ユーザーがアクセス許可を許可しない場合、アプリはユーザーの Exchange メールボックスにインストールされません。メール アプリでは 3 層のセキュリティ モデルが使用されます。アプリが実行できる処理は、アプリのマニフェストの中で要求されているアクセス許可に基づいてエンド ユーザーまたは管理者が許可したセキュリティに応じて決まります。[メールボックスの読み取り/書き込み] アクセス許可を必要とするアプリは、エンド ユーザーがインストールできないことに注意してください。[メールボックスの読み取り/書き込み] アクセス許可を要求するアプリは、システム管理者がインストールする必要があります。

図 3. メール アプリでの 3 層のセキュリティ モデル

ユーザー、開発者、管理者の 3 階層アクセス許可モデル

図 3 とその下の表で、3 つのアクセス許可レベルについて説明します。既定のアクセス許可である [制限あり] では、現在選択されているメッセージから個人を特定できる情報 (Personally Identifiable Information: PII) をアプリがアクセスすることは制限されます。ユーザーが [項目の読み取り] などの昇格されたアクセス許可をアプリに許可した場合、そのアプリはメッセージの送信者や受信者などの情報を取得できます。[メールボックスの読み取り/書き込み] アクセス許可がある場合、アプリは、ユーザーのメールボックスにある項目を作成または修正できるなど、強力な EWS 関数のサブセットを呼び出せます。

実行者

マニフェストにあるアクセス権限

アクセス

信頼性の低いメール アプリをインストールするエンド ユーザー

Restricted

メッセージにある既知のエンティティのサブセット: Address、PhoneNumber、Url

信頼性の低いメール アプリをインストールするエンド ユーザー

ReadItem

メッセージにあるすべての既知のエンティティ: Address、Contact、EmailAddress、MeetingSuggestion、PhoneNumber、TaskSuggestion、Url

メッセージ本文からのカスタム正規表現の一致

JSOM:

  • 受信者/送信者/出席者

  • 件名/場所

  • シングル サインオン

  • ユーザー プロファイル

  • GetUserIdentityTokenAsync メソッド

信頼性の高いメール アプリをインストールする Exchange 管理者

ReadWriteMailbox

ReadItem のアクセス許可に加えて、次の項目:

EWS: EWS API のサブセット

天気予報バー用のカスタム天気データ サービス

Outlook 2013 の新しい天気予報バーでは、ユーザーが選択した場所の天気予報を MSN 天気を使用して提供します。サード パーティの天気データ サービスを Outlook にプラグインとして組み込み、同様の天気予報を提供することもできます。図 4 は、ニューヨークの天気予報を表示している天気予報バーを示しています。

図 4. ニューヨークの天気予報を表示している天気予報バー

ニューヨークの予報を示している天気予報バー

Outlook の天気予報バーにプラグインとして組み込むには、天気データ サービスをシンプルな 2 つのパートをもつプロトコルをサポートする Web サービスとして実装します。

  1. 天気データ サービスは、Web サービスに対してベース URL をサポートします。例: http://service.contoso.com/data.aspx。

  2. パート 1: Web サービスでは、Outlook から以下のパラメーターをベース URL に追加することにより、ユーザーが選択した場所に対応する場所コードを要求できます。

    • outputview=search、要求が場所の検索であることを示します。

    • weasearchstr=city、ここで city はユーザーが選択した天気情報の場所を示します。

    • culture=LCID、ここで LCID はユーザーに対してインストールされている Office のバージョンのカルチャを示します。この値は、「[RFC4646] 言語を識別するタグ」で定義されています。

    • src=outlook、サービスを要求しているクライアント アプリケーションが Outlook であることを示します。

    Web サービスの応答は、Outlook Weather Location XML Schemaに適合している必要があります。

    図 5 は、ユーザーが選択した場所の場所コードを要求して応答するプロトコルのパート 1 を要約したものです。

    図 5. 場所コードの要求と応答を行う Web サービス

    天気予報の場所の要求と応答

  3. パート 2: Web サービスは、Outlook から以下のパラメーターを追加することにより、パート 1 で取得した場所コードの天気予報情報を要求する処理もサポートします。

    • wealocations=code、ここで code はパート 1 で取得した場所コードです。

    • weadegreetype=degreetype、ここで degreetype は、温度の単位をメートル法に指定する c か、英単位系に指定する f のいずれかです。

    • culture=LCID、ここで LCID はユーザーに対してインストールされている Office のバージョンのカルチャを示します (パート 1 の同じパラメーターと同様です)。

    • src=outlook、サービスを要求しているクライアント アプリケーションが Outlook であることを示します (パート 1 と同様)。

    Web サービスの応答は、Outlook Weather Information XML Schemaに適合している必要があります。

    図 6 は、ユーザーが選択した場所の天気データを要求して応答するプロトコルのパート 2 を要約したものです。

    図 6. 天気情報を要求して応答する Web サービス

    天気情報の要求と応答

詳細については、「Outlook の天気予報バーの拡張」を参照してください。

Outlook のオブジェクト モデルの変更

Outlook 2013 の新機能をプログラム可能にするため、Outlook オブジェクト モデルに新しいオブジェクト、プロパティ、メソッド、イベント、および列挙値が追加されました。また、開発者からしばしば寄せられる Outlook プラットフォームの変更の要望におこたえするため、オブジェクト モデルの改良も行われました。

既存の Outlook オブジェクトに対する機能拡張

次の表に、前のバージョンの Outlook で利用可能だったオブジェクト、コレクション、および列挙に対する機能拡張を示します。「新しいメンバー」 列には、新しいメソッド、プロパティ、イベント、および列挙値のみを記載します。

表 1. Outlook オブジェクト モデルの機能拡張

オブジェクトまたは列挙

新しいメンバー

AppointmentItem

ReadComplete イベント

ContactItem

ShowCheckAddressDialog メソッド

ShowCheckFullNameDialog メソッド

ReadComplete イベント

DistListItem

ReadComplete イベント

DocumentItem

ReadComplete イベント

Explorer

ActiveInlineResponse プロパティ

ActiveInlineResponseWordEditor プロパティ

InlineResponse イベント

InlineResponseClose イベント

JournalItem

ReadComplete イベント

MailItem

ReadComplete イベント

MeetingItem

ReadComplete イベント

OlAccountType

olEas 列挙値

OlBusyStatus

olWorkingElsewhere 列挙値

OlObjectClass

olClassPeopleView 列挙値

OlSearchScope

olSearchScopeCurrentStore 列挙値

OlViewType

olPeopleView 列挙値

PostItem

ReadComplete イベント

RemoteItem

ReadComplete イベント

ReportItem

ReadComplete イベント

SharingItem

ReadComplete イベント

TaskItem

ReadComplete イベント

TaskRequestAcceptItem

ReadComplete イベント

TaskRequestDeclineItem

ReadComplete イベント

TaskRequestItem

ReadComplete イベント

TaskRequestUpdateItem

ReadComplete イベント

新しいオブジェクト

次の表に、Outlook 2013 で導入された新しいオブジェクトを示します。すべてのオブジェクト メンバーを 「プロパティ」 列と 「メソッド」 列に記載します。

表 2. Outlook オブジェクト モデルへの追加

オブジェクト

プロパティ

メソッド

PeopleView

Application

Apply

Class

Copy

Filter

Delete

Language

GoToDate

LockUserChanges

Reset

Name

Save

Parent

SaveOption

Session

SortFields

Standard

ViewType

XML

使用されていないオブジェクトおよびメンバー

今回のリリースでの Outlook オブジェクト モデルの主な廃止予定は次のとおりです。

  • To Do バーのサポート

    Outlook 2013 のユーザー インターフェイスで To Do バーはサポートされなくなったため、Explorer.ShowPane(olToDoBar) を使用して To Do バーを表示または非表示にしようとすると、エラーが返されます。既存のコードを変更してこのエラーを処理するようにするか、Outlook 2013 で実行するコードでは olToDoBar 定数を指定して ShowPane を呼び出すことを避けてください。

  • 連絡先リンクのサポート

    連絡先リンク機能と、それに対応するオブジェクト モデルのサポート (Link オブジェクトと Links オブジェクトによる) は使用されなくなりました。各アイテム オブジェクトの Links プロパティは Null (Visual Basic では Nothing) を返すようになったため、この動作を処理するように既存のコードを変更してください。

  • MobileItem オブジェクト。詳細については、「Office Mobile Service のサポートの打ち切り」セクションを参照してください。

次の表に、Outlook 2013 で使用されなくなったオブジェクト、メンバー、列挙値を示します。「使用されなくなったメンバー」 列には、使用されなくなったオブジェクト メンバーおよび列挙値のみを記載します。Visual Basic では、使用されなくなったメンバーはオブジェクト ブラウザーで表示されませんが、使用されなくなった列挙または列挙値は表示されます。いずれにしても、それらの列挙や列挙値をコードで使用しないようにする必要があります。

オブジェクト、コレクション、または列挙

使用されなくなったメンバーまたは列挙値

AppointmentItem

Links プロパティ

CalendarView

DayWeekFont プロパティ

DayWeekTimeFont プロパティ

MonthFont プロパティ

ContactItem

Links プロパティ

DistListItem

Links プロパティ

DocumentItem

Links プロパティ

Exception

ItemProperties プロパティ

JournalItem

Links プロパティ

Link

ApplicationClass プロパティ

Item プロパティ

Name プロパティ

Parent プロパティ

Session プロパティ

Type プロパティ

Links

ApplicationClass プロパティ

Count プロパティ

Parent プロパティ

Session プロパティ

AddItem メソッド

Remove メソッド

MailItem

Links プロパティ

MeetingItem

Links プロパティ

MobileItem

プロパティ

Actions プロパティ

Application プロパティ

Attachments プロパティ

BillingInformation プロパティ

Body プロパティ

Categories プロパティ

Class プロパティ

Companies プロパティ

ConversationIndex プロパティ

ConversationTopic プロパティ

CreationTime プロパティ

Count プロパティ

EntryID プロパティ

FormDescription プロパティ

GetInspector プロパティ

HTMLBody プロパティ

Importance プロパティ

ItemProperties プロパティ

LastModificationTime プロパティ

MessageClass プロパティ

Mileage プロパティ

MobileFormat プロパティ

NoAging プロパティ

OutlookInternalVersion プロパティ

OutlookVersion プロパティ

Parent プロパティ

PropertyAccessor プロパティ

ReceivedByEntryID プロパティ

ReceivedByName プロパティ

ReceivedTime プロパティ

Recipients プロパティ

ReplyRecipientNames プロパティ

ReplyRecipients プロパティ

Saved プロパティ

SenderEmailAddress プロパティ

SenderEmailType プロパティ

SenderName プロパティ

SendUsingAccount プロパティ

Sensitivity プロパティ

Sent プロパティ

SentOn プロパティ

Session プロパティ

Size プロパティ

SMILBody プロパティ

Subject プロパティ

Submitted プロパティ

To プロパティ

UnRead プロパティ

UserProperties プロパティ

メソッド

Close メソッド

Copy メソッド

Delete メソッド

Display メソッド

Forward メソッド

Move メソッド

Reply メソッド

ReplyAll メソッド

Save メソッド

SaveAs メソッド

Send メソッド

イベント

AttachmentAdd イベント

AttachmentReadAttachmentRemove イベント

BeforeAttachmentAdd イベント

BeforeAttachmentPreview イベント

BeforeAttachmentRead イベント

BeforeAttachmentSave イベント

BeforeAttachmentWriteToTempFile イベント

BeforeAutoSave イベント

BeforeCheckNames イベント

BeforeDelete イベント

Close イベント

CustomAction イベント

CustomPropertyChange イベント

Forward イベント

Open イベント

PropertyChange イベント

Read イベント

ReadComplete イベント

Reply イベント

ReplyAll イベント

Send イベント

UnloadWrite イベント

NoteItem

Links プロパティ

OlObjectClass

olLink 列挙値

olLinks 列挙値

olMobile 列挙値

OlPane

olToDoBar 列挙値

PostItem

Links プロパティ

RemoteItem

Links プロパティ

ReportItem

Links プロパティ

TaskItem

Links プロパティ

TaskRequestAcceptItem

Links プロパティ

TaskRequestDeclineItem

Links プロパティ

TaskRequestItem

Links プロパティ

TaskRequestUpdateItem

Links プロパティ

インライン返信の処理

Outlook 2013 にインライン返信の機能が導入されました。これは、ユーザーが新しい [インスペクター] ウィンドウを開かずに、閲覧ウィンドウ内で返信を作成できる機能です。ソリューションで、メモの作成リボンに Office Fluent UI コントロールを追加する必要がある場合、または返信メッセージを送信する前にビジネス ロジックまたはカスタム機能を返信メッセージに適用する必要がある場合は、Explorer オブジェクトに新しい InlineResponse イベントを使用するようにソリューションを変更してください。

注意

インライン返信を使用するには、エクスプローラーの [ビュー] メニューで閲覧ウィンドウを表示することを選択しておく必要があります。

InlineResponse イベントは、Inspectors コレクション オブジェクトの NewInspector イベントに相当するインライン版です。NewInspector イベントは、新しい [インスペクター] ウィンドウが開く時点で発生します。InlineResponse イベントは、図 7 に示すとおり、閲覧ウィンドウにインライン返信が表示されるアクションをユーザーが実行した時点で発生します。

図 7. インライン返信はユーザーが返信アクションを選択したときに作成される

インライン応答の作成

インライン返信に対するオブジェクト モデルのサポート

インライン返信機能をプログラム可能にするサポートを提供するため、Explorer オブジェクトに以下のメンバーが追加されました。

メンバー

説明

ActiveInlineResponse プロパティ

閲覧ウィンドウ内のアクティブなインライン返信アイテムを表すアイテム オブジェクトを返します。値の取得のみ可能です。

ActiveInlineResponseWordEditor プロパティ

閲覧ウィンドウに表示されているアクティブなインライン返信の Word Document オブジェクトを返します。値の取得のみ可能です。

InlineResponse イベント

閲覧ウィンドウにインライン返信が表示されるアクションをユーザーが実行したときに発生します。

InlineResponse イベントの使用方法

作成しているコードで、返信、全員に返信、および転送など、ユーザーが作成するすべてのメッセージに免責事項を挿入する必要があるというシナリオを考えてみましょう。インライン返信は Outlook 2013 の既定の返信モードであるため、Explorer オブジェクトの InlineResponse イベントに対するイベント ハンドラーにフックアップする必要があります。次の C# コードでは、OutlookExplorer クラスの InlineResponse イベントのイベント ハンドラーにフックアップしています。このコード例で、OutlookExplorer は、Explorer オブジェクトのコレクションに対するラッパー クラスです。

public OutlookExplorer(Outlook.Explorer explorer)
{
    m_Window = explorer;

    // Hook up InlineResponse event
    m_Window.InlineResponse += 
        new Outlook.ExplorerEvents_10_InlineResponseEventHandler
        (m_Window_InlineResponse);

    // Hook up other events if applicable.
}

InlineResponse イベントが発生すると、サンプル コードでは MailItem のインスタンスである m_Mail を作成し、その MailItem オブジェクトの PropertyChange イベントをリッスンします。m_Mail は、アドインで必要とされる任意のビジネス ロジックを実装するために使用できるイベント対応のインスタンス変数です。

サンプル コードでは、MailItem.Size プロパティを 0 と比較して、インライン返信が新規か既存の下書きかを判別します。ActiveInlineResponseWordEditor プロパティが返す Word.Document オブジェクト doc は、アクティブな Explorer のアクティブなインライン返信を表しています。コードでは、Word のオブジェクト モデルを使用して、この doc オブジェクトの先頭に免責事項を追加します。

// InlineResponse fires when the user creates an inline response item
void m_Window_InlineResponse(object Item)
{
    if (Item is Outlook.MailItem)
    {
        m_Mail = Item as Outlook.MailItem;
        // Hook up event-aware instance variable.
        // Use the variable to implement any business logic 
        // required by your add-in.
        m_Mail.PropertyChange += 
            new Outlook.ItemEvents_10_PropertyChangeEventHandler(
                m_Mail_PropertyChange);
        // Implement any business logic.

        // Use mail.Size to determine if item is new 
        // or is a draft inline response.
        // Size == 0 indicates a new inline response.
        if (m_Mail.Size == 0)
        {
            {
                Word.Document doc = 
                    m_Window.ActiveInlineResponseWordEditor as Word.Document;
                Word.Application wdApp = doc.Application as Word.Application;
                Word.Range rng = wdApp.ActiveDocument.Range(Start: 1);
                rng.InsertBefore("My Disclaimer...");
            }
        }
        else
        {
            // Do nothing.
        }
    }
}

ActiveInlineResponse プロパティは、アクティブなインライン返信アイテムを表す MailItem オブジェクトを返すことに注意してください。このアイテムに対しては、MailItem オブジェクトと同じプロパティとメソッドを使用できますが、以下のプロパティとメソッドは除きます。

他方、アクティブなインライン返信がない場合、ActiveInlineResponseWordEditor プロパティおよび ActiveInlineResponse プロパティは null を返します。

[ツールの作成] コンテキスト タブにカスタム コントロールを追加する

実行可能なもう 1 つのシナリオは、インライン返信のために Outlook のユーザー インターフェイスを拡張することです。Outlook のユーザー インターフェイスを拡張するには、この記事では詳細に説明しない Office Fluent UI の拡張機能を使用する必要があります。Outlook のユーザー インターフェイスを拡張することに関する追加情報は、この記事の末尾にあるリンクを参照してください。Outlook 2013 にインライン返信が表示されると、Office Fluent リボンに [ツールの作成] コンテキスト タブが表示されます。[ツールの作成] コンテキスト タブにコントロールを追加するには、リボンの XML の <contextualTabs> </contextualTabs> セクションにカスタム コントロールを追加し、RibbonID が "Microsoft.Outlook.Explorer" に等しい IRibbonExtensibility インターフェイスの GetCustomUI メソッドにその XML を渡します。idMso 属性に該当する値 (この場合は "TabComposeTools") が指定された tabSet 要素を識別する必要があります。次のリボン XML は、図 7 にある MyButton コントロールを作成します。

    <contextualTabs>
      <tabSet idMso="TabComposeTools">
        <tab idMso="TabMessage">
          <group label="MyGroup" id="MyComposeToolsGroup">
            <button id="MyButtonInlineResponse"
                    size="large"
                    label="MyButton"
                    imageMso="MagicEightBall"
                    onAction="OnInlineResponseButtonClick" />
          </group>
        </tab>
      </tabSet>
    </contextualTabs>

ユーザーが MyButton コントロールを選択すると、OnInlineResponseButtonClick ハンドラーが呼び出されます。次のコード例では、ActiveInlineResponseWordEditor プロパティを使用して Word.Document オブジェクトのインスタンスを取得しています。その後は、Word.Document オブジェクトの全機能を使用して、シナリオで必要なテキストを挿入し、書式設定できます。

// Callback for inline response custom button.
public void OnInlineResponseButtonClick(Office.IRibbonControl control)
{
    if (control.Context is Outlook.Explorer)
    {
        Outlook.Explorer myExplorer =
            control.Context as Outlook.Explorer;
        Word.Document doc =
        myExplorer.ActiveInlineResponseWordEditor as Word.Document;
        Word.Application wdApp = doc.Application as Word.Application;
        Word.Range rng = wdApp.ActiveDocument.Range(Start: 1,
            End: wdApp.ActiveDocument.Characters.Count);
        rng.InsertBefore("\n" + "My Disclaimer...");
    }
}

Outlook Social Connector プロバイダーの拡張機能に対する変更

Office 2013 では、Outlook Social Connector (OSC) の有効範囲が拡張されました。Outlook だけでなく、ユーザー プレゼンスと連絡先カードの表示をサポートしているすべての Office クライアント アプリケーションで、プロフェッショナル サイトまたはソーシャル ネットワーク サイトで適用されたソーシャル情報の更新を集約して表示することができます。それに加えて、SharePoint Server、SharePoint Workspace、および Lync クライアントでも OSC がサポートされます。

Outlook 2013 で OSC プロバイダーの拡張機能に加えられた大きな変更点の 1 つは、アクティビティがアクティビティ キャッシュを使用して同期されなくなった点です。OSC プロバイダーがアクティビティの表示をサポートしている場合は、最新のアクティビティを表示するためにプロバイダーがオンデマンドでアクティビティを同期する必要があります。

さらに、プロバイダーは人に関する追加のメタデータを通信するために OSC XML スキーマを使用できるようになりました。例: askmeabout、businessAddress、interests、skills、schools、website。

詳細については、「プロバイダーでの新機能します。(機械翻訳)」を参照してください。

Office Mobile Service のサポートの打ち切り

Office 2010 では、Office Mobile Service (OMS) 用の Web サービスを作成することにより、Outlook および SharePoint のモバイル機能をモバイル デバイスと統合することができます。Office 2013 では、SharePoint だけが OMS のサポートを続行します。また、Outlook 2013 では、MobileItem オブジェクトとそのメンバーも使用されなくなりました。Application.CreateItem を使用して MobileItem を作成しようとすると、E_INVALIDARG が返されます。

以前のバージョンの Outlook との共存

共存とは、Outlook 2007 または Outlook 2010 が存在するのと同じコンピューター上に Outlook 2013 をクリック実行によって配信できる機能を指します。また、"共存" は "サイド バイ サイド インストール" という意味でもあり、ユーザーは以前のバージョンの Outlook をアンインストールせずに Outlook 2013 を試用することができます。クリック実行は、Outlook 2013 の既定の配信メカニズムです。Outlook 2013 がコンピューターに配信された後、ユーザーは Outlook 2013 を実行することも、コンピューターにインストールされている旧バージョンの Outlook を実行することもできます。共存は、Outlook の 2 つのバージョンを同時に実行できるという意味ではないことに注意してください。2 つのバージョンの Outlook を同時に実行することはサポートされておらず、ユーザーが Outlook 2013 を実行中に旧バージョンの Outlook を実行しようとすると、Outlook はエラー ダイアログを表示します。

注意

Outlook 2007 より前のバージョンと Outlook 2013 との共存はサポートされていません。

サポートされるバージョンの一覧

このセクションでは、Outlook 2013 と共存できる、旧バージョンの Outlook のビット数とインストール モードについて説明します。次の点に注意してください。

  • MSI とは、旧バージョンの Outlook の Microsoft インストーラー (MSI) によるインストールを指します。

  • Office 2013 がサポートしている Windows のバージョンは Windows 7 と Windows 8 のみです。

  • Windows Server では、クリック実行はサポートされません。

  • Outlook 2013 は、Outlook 2003 またはそれより前のバージョンとの共存をサポートしていません。

  • Outlook 2013 は、同じバージョンの Outlook との共存をサポートしていません。つまり、MSI による Outlook 2013 のインストールと、クリック実行による Outlook 2013 の配信を、同じコンピューター上で行うことはサポートされていません。

  • ビット数の異なるバージョンの共存はサポートされません。ユーザーがクリック実行によってインストールするバージョンは、下位レベルの MSI インストールと同じビット数にする必要があります。

バージョン

Outlook 2007 MSI

Outlook 2010 x86 MSI

Outlook 2010 x64 MSI

Outlook 2013 C2R x86

はい

はい

いいえ

Outlook 2013 C2R x64

いいえ

いいえ

はい

バージョンに依存するプロファイル

共存をサポートするため、Outlook 2013 は Outlook プロファイルを Windows レジストリ内の別個のハイブに格納します。旧バージョンの Outlook からのプロファイルは、Outlook 2013 を最初に起動した時点で Outlook 2013 のプロファイルに移行されます。その後に、旧バージョンの Outlook のプロファイルに追加または変更を行っても、その後の Outlook 2013 の起動時にそれらの変更が移行されることはありません。

Windows レジストリ内のプロファイルのハイブ

旧バージョンの Outlook では、プロファイルの格納先がバージョンに関わらずに HKCU\Software\Microsoft\Windows NT\Windows Messaging Subsystem\Profiles でしたが、Outlook 2013 では、バージョンを区別した次のキーの下にプロファイルを格納します。

HKEY_CURRENT_USER\Software\Microsoft\Office\<バージョン>\Outlook\Profiles

ここで、<バージョン> は、メジャー バージョン xx.0 を表す文字列です。たとえば、Outlook 2013 の場合は 15.0 です。

MAPI プロファイル API の呼び出し

アプリケーションがプロファイルのハイブからプロファイル データを読み取る方法に変更はありません。MAPI を (アプリケーションの要件に応じて、下位レベルのバージョンまたは最新の MAPI バージョンのいずれかに) 初期化した後、アプリケーションは共通の MAPI プロファイル API を使用して該当するプロファイルのハイブから値を読み取ることができます。

アプリケーションが Outlook 2013 用に MAPI を初期化した場合、MAPI プロファイル API はバージョンを区別したハイブに対してプロファイル データを読み書きします。アプリケーションが旧バージョンの Outlook 用に MAPI を初期化した場合、MAPI プロファイル API はバージョンを区別しないハイブに対してプロファイル データを読み書きします。

アプリ パスの登録

下位レベルのアプリケーションが間違った MAPI バージョンを読み込まないようにするため、Outlook 2013 はレジストリにあるアプリ パスの登録を変更します。下位レベルのバージョンのアプリケーションが間違った MAPI バージョンを読み込むと、アプリケーションは MAPI を読み込もうとしてクラッシュします。通常、旧バージョンの Outlook では、Outlook のアプリ パスを次のキーに書き込んでいました。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE

旧バージョンのクリック実行では、Outlook のアプリ パスは変更されませんでした。Outlook 2013 をクリック実行によって配信すると、アプリ パスが次のように変更されます。

  • Outlook 2007 または Outlook 2010 にパッチがインストールされ、アプリ パスへの依存が解消されます。

    アプリ パスが、Outlook 2013 の Outlook.exe へのパスを指すように変更されます。

    Outlook 2013 の Outlook.exe への既定のパスは、C:\Program Files\Microsoft Office 15\root\office15 です。

MAPI のバージョン管理

MAPI を使用するアプリケーションは MAPIInitialize 関数を呼び出して MAPI セッションを初期化します。既定では、MAPI を初期化するアプリケーションは Outlook 2013 によって提供される MAPI のバージョンを使用します。異なるバージョンの MAPI を使用する必要がある場合は、「Outlook 2013 MAPI リファレンス」にある以下のトピックを参照してください。

簡易 MAPI

簡易 MAPI とは、アプリケーションが添付ファイル付きのメールを MAPISendMail API を使用して、または Windows 8 で導入された新しい MAPISendMailW API を使用して送信できる API を指します。

  • サポートされる MAPI API は、MAPISendMail (Windows 7) または MapiSendMailW (Windows 8) のみです。

    開発者は、既存の簡易 MAPI コードを MAPISendMailW (Windows 8) または MAPISendMailHelper (Windows 7) を使用するように変更し、Unicode の完全なサポートと、モードレスの Outlook インスペクターを表示する機能を使用するかどうかを検討する必要があります。

    Outlook が実行されていない場合、または Outlook 2013 が実行されている場合は、MAPISendMail または MAPISendMailW を呼び出すと Outlook 2013 のインスペクターが表示されます。

    旧バージョンの Outlook が実行されている場合は、MAPISendMail または MAPISendMailW を呼び出すと次のエラーが表示されます。

    旧バージョンの Outlook では、この操作はサポートされていません。

プロトコル ハンドラー

インストール時に、Outlook 2013 は次の表に示した一般的なプロトコルの既定のプロトコル ハンドラーとして登録されます。Outlook 2013、Outlook 2010、および Outlook 2007 はこれらのプロトコルをサポートしています。

プロトコル

説明

feed:、feeds:

RSS フィードのハンドラー

mailto:

Outlook インスペクターを表示する MailTo リンクのハンドラー

stssync:

SharePoint 同期のハンドラー

outlook:

Outlook プロトコルは、Outlook アイテムの本体またはフォルダー ホーム ページからのみ使用できます

webcal:

webcal プロトコルのハンドラー

Outlook 2013 が古いバージョンの Outlook と一緒に同じコンピューター上に存在する場合は、次の点に注意してください。

  • 旧バージョンの Outlook が実行されていない場合は、プロトコル ハンドラーを呼び出すと、Outlook 2013 が起動してプロトコル ハンドラーの要求を処理します。

旧バージョンの Outlook が実行されている場合は、プロトコル ハンドラーを呼び出すと、コマンド ライン ハンドオフを使用して旧バージョンの Outlook が呼び出され、要求を処理します。

ファイルの関連付け

インストール中に、次の表に示した一般的なファイルの関連付けについて、Outlook 2013 が既定のハンドラーとして登録されます。Outlook 2013、Outlook 2010、および Outlook 2007 は、これらすべてのファイル拡張子をサポートしています。

ファイルの関連付け

説明

.eml

電子メール メッセージ

.fdm

Outlook のフォーム定義

.hol

Outlook の祝日

.ics

iCalendar ファイル

.msg

Outlook のメッセージ アイテム

.oft

Outlook のアイテム テンプレート

.pst

Outlook のデータ ファイル

.vcf

vCard ファイル

.vcs

vCalendar ファイル

Outlook 2013 が古いバージョンの Outlook と一緒に同じコンピューター上に存在する場合は、次の点に注意してください。

  • 旧バージョンの Outlook が実行されていない場合は、ファイル システムからアイテムを開くと、Outlook 2013 でアイテムが開かれます。Outlook 2013 がまだ実行されていない場合は、この操作によってそれが起動します。

  • 旧バージョンの Outlook が実行されている場合は、ファイル システムからアイテムを開くと、Outlook 2013 が起動し、要求を旧バージョンの Outlook にハンドオフします。

Outlook アプリケーション オブジェクトの共同作成

アドインでは、OnConnection イベント (ネイティブ アドイン) または ThisAddin_Startup イベント (Visual Studio Tools for Office を使用して作成したマネージ アドイン) で返されたApplication オブジェクトを使用する必要があります。アプリケーションで、CreateObject を使用して、または Outlook.Application のインスタンスを共同作成する機能を提供する別の関数を使用して Outlook.Application オブジェクトを共同作成する場合は、共存環境に関する以下の点に注意してください。

  • Outlook が実行されていない場合、または Outlook 2013 が実行されている場合は、CreateObject(“Outlook.Application”) を呼び出すと、Outlook 2013 を表す Outlook.Application オブジェクトが返されます。

  • 旧バージョンの Outlook が実行されている場合は、CreateObject を呼び出すと、旧バージョンの Outlook を表す Outlook.Application オブジェクトが返されます。

  • 実行されている Outlook のバージョンを判別するには、Application.Version プロパティを調べます。

クリック実行の検出

クリック実行環境に Outlook が存在することを検出するには、次のレジストリ キーに VirtualOutlook キーが存在することを確認します。

HKLM\Software\Microsoft\Office\15.0\Common\InstallRoot\Virtual\VirtualOutlook

VirtualOutlook キーが存在する場合は、Outlook がクリック実行アプリケーションとして既に配信されています。

作成したソリューションが共存環境で実行可能なことを確認する

共存は既定の配信モードであるため、作成したソリューションは Outlook 2013 および旧バージョンの Outlook に対してテストし、想定される以下の問題点について確認する必要があります。

  • アドインは、Windows レジストリ内のバージョンを区別しない次のハイブに登録されます。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins

    または

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins

    アドインの登録ではバージョンが区別されないため、作成したアドインは、Outlook 2013 が実行されている場合も、旧バージョンの Outlook が実行されている場合も、正常に実行できる必要があります。アップデートしたバージョンのアドインは、必ず Outlook 2013 および旧バージョンの Outlook に対してテストしてください。アドインでは、Application.Version を使用して Outlook のバージョンを検出し、実行されている Outlook のバージョンに応じて適切に調整する必要があります。

  • アプリ パスに依存する処理をコードから削除します。

  • Windows レジストリを使用してプロファイルを列挙することは避け、代わりに MAPI プロファイル API を使用します。

アドインを有効に保つためのパフォーマンス基準

Outlook 2010 のアドインの弾力性の柱が拡張され、Outlook 2013 ではアドインの起動、シャットダウン、フォルダー切り替え、アイテムのオープン、起動の頻度などのアドイン パフォーマンス指標がモニターされます。Outlook は、パフォーマンス モニターの各指標について経過時間をミリ秒単位で記録します。

たとえば、スタートアップの指標では、接続された各アドインが Outlook のスタートアップ時に必要とした時間が測定され、連続した 5 回のスタートアップ時間の中央値が算出されます。スタートアップ時間の中央値が 1000 ミリ秒 (1 秒) を超えると、Outlook はそのアドインを無効にし、アドインが無効にされたという通知をユーザーに表示します。ユーザーはアドインを常に有効にするというオプションを選択できます。その場合は、アドインが 1000 ミリ秒というパフォーマンスしきい値を超えても Outlook はアドインを無効にしません。

既定の無効化のためにモニターされるアドインのパフォーマンス

Outlook は、アドインを無効にする必要があるかどうかを判別するため、以下の基準を使用します。ユーザーは、アドインを常に有効にするオプションを選択することができ、そのアドインにはアドインを無効化する基準が適用されません。

基準

しきい値 (ミリ秒)

説明

スタートアップ

1000

IDTExtensibility2_OnConnection イベントを使用してスタートアップを完了するためにアドインが要した時間をミリ秒単位で測定します。既定では、連続した 5 回の時間の中央値がパフォーマンスしきい値を超えると、Outlook はそのアドインを無効にします。

シャットダウン

500

IDTExtensibility2_OnDisconnection イベントを使用してシャットダウンを完了するためにアドインが要した時間を測定します。これは、低速シャットダウンを要求するアドインにのみ適用されます。高速シャットダウンを使用するアドインは、この基準の対象にはなりません。連続した 5 回の時間の中央値がパフォーマンスしきい値を超えると、Outlook はそのアドインを次の Outlook のスタートアップ時に無効にします。

フォルダーの切り替え

500

Explorer オブジェクトの BeforeFolderSwitch イベントと FolderSwitch イベントを使用してアドインがフォルダーを切り替えるために必要とした時間をミリ秒単位で測定します。既定では、連続した 5 回の時間の中央値がパフォーマンスしきい値を超えると、Outlook はそのアドインを無効にします。

アイテムを開く

500

アイテムの Open イベントを使用してアイテムを開く処理を完了するためにアドインが必要とした時間をミリ秒単位で測定します。既定では、連続した 5 回の時間の中央値がパフォーマンスしきい値を超えると、Outlook はそのアドインを無効にします。

起動の頻度

1000

アドインが連続した 10,000 回の呼び出しを実行する間に必要とした時間をミリ秒単位で測定します。既定では、10,000 回の呼び出しから次の呼び出しまでの間隔がパフォーマンスしきい値を下回っている場合に、Outlook はアドインを無効にします。他の 4 つの基準とは異なり、この基準では中央値がとられることはありません。

システム管理者によるアドインの制御

ユーザーは自分のコンピューターでどのアドインが実行されるかを制御できます。Outlook 2013 では、システム管理者がグループ ポリシーを使用してアドインを制御できる度合いが高くなっています。グループ ポリシーは常にユーザーによる設定をオーバーライドします。また、[管理対象アドインの一覧] グループ ポリシーによって構成されたアドインの設定をユーザーは変更できません。ポリシーのキーは次のとおりです。

キー

HKCU\Software\Policies\Microsoft\Office\15.0\Outlook\Resiliency\AddinList

名前

管理対象アドインの一覧

説明

このポリシー設定では、常に有効にするアドイン、常に無効にする (ブロックする) アドイン、ユーザーによる構成を可能にするアドインを指定できます。

> [!NOTE] >

この場合の「管理対象 (managed)」という用語は、グループ ポリシーによって操作されるアドインのことを指しており、マネージ コードを使用するプログラミング言語でアドインが開発されたかどうかとは無関係です。

このポリシー設定によって管理しないアドインをブロックするには、[非管理対象のアドインをすべてブロックする] ポリシー設定も構成する必要があります。

このポリシー設定を有効にするには、各アドインに対して以下の情報を提供します。

  • "値の名前" としては、COM アドインのプログラム識別子 (ProgID) を指定します。

    アドインの ProgID を入手するには、アドインがインストールされているクライアント コンピューターでレジストリ エディターを使用して以下のキー名を探してください。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins

    または

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins

  • "値" としては、以下の値を指定します。

    • アドインを常に無効にする (ブロックする) には、0 を指定します。

    • アドインを常に有効にするには、1 を指定します。

    • アドインをユーザーが構成できるようにし、[非管理対象のアドインをすべてブロックする] ポリシー設定が有効にされたときにブロックされないようにするには、2 を指定します。

このポリシー設定を無効にする (つまり有効にしない) と、管理対象アドインの一覧は削除されます。その場合に [非管理対象のアドインをすべてブロックする] ポリシー設定を有効にすると、すべてのアドインがブロックされます。

このポリシーによって無効になっているアドインは、Outlook のアドイン無効化機能 (パフォーマンス、弾力性、または信頼性の理由からアドインを無効にする機能) によって無効になることはありません。

アドイン無効化機能のユーザー インターフェイス

アドインがパフォーマンスしきい値を超えると、Outlook は図 8 のような通知バーを表示して、1 つ以上のアドインが無効になったことをユーザーに通知します。

図 8. アドインが自動的に無効になると Outlook に通知バーが表示される

通知バー

通知バーにある [無効になったアドインの表示] ボタンをクリックすると、[無効になったアドイン] ダイアログが表示されます (図 9 を参照)。

図 9. [このアドインを常に有効にする] ボタンをクリックすると、そのアドインが有効になり、アドイン無効化機能の対象から除外される

常にアドインを有効化

アドインによるパフォーマンス低下をユーザーが許容範囲であると考える場合、ユーザーはそのアドインを常に有効にすることを選択できます。常に有効に設定したアドインは、パフォーマンス基準に基づいて Outlook によって自動的に無効になることがありません。なお、後に何らかの理由でそのアドインをアドイン無効化機能の管理下に戻す必要が生じた場合は、[無効になったアドイン] ダイアログからそのアドインを無効にすることもできます (図 10 を参照)。

図 10. [このアドインを無効にする] ボタンを選択してアドインを無効にする

アドインを無効化

アドインが無効にならないようにする

大部分のアドインはアドイン無効化機能によって無効になることはありませんが、特定のアドインを一貫して無効化されないように保持したい場合は、アドインのパフォーマンスを改善するための以下の提案を参考にしてください。

  • マネージ コードのアドインよりも、ネイティブ COM アドインを優先します。マネージ アドインには、Outlook のスタートアップ中に .NET Framework を読み込むオーバーヘッドがあります。

  • 負荷のかかるデータベース接続を行うなど、長時間実行されるタスクがある場合は、それらのタスクをスタートアップの後で実行するようにします。

  • 可能であれば、エクスプローラーの FolderSwitch イベントと BeforeFolderSwitch イベント、またはアイテムの Open イベントで、負荷のかかるネットワーク呼び出しを行う代わりにデータをローカルにキャッシュします。

  • ポーリングは負荷のかかる操作なので、ポーリングよりもイベント ドリブン モデルを常に優先します。

  • Outlook オブジェクト モデルに対するすべての呼び出しが Outlook のメイン フォアグラウンド スレッドで実行されることに留意してください。可能であれば、Outlook オブジェクト モデルに対する実行時間の長い呼び出しを避けます。なお、Outlook 2013 の Outlook オブジェクト モデルに対する呼び出しでは、バックグラウンド スレッドから Outlook オブジェクト モデルを呼び出すと E_RPC_WRONG_THREAD が返されることに注意してください。

特に、Visual Studio の Office デベロッパー ツールを使用してマネージ アドインを作成する場合は、CLR をロードする最初のアドインでパフォーマンスに負荷がかかる傾向があることに留意してください。以下の手段を検討します。詳細については、このドキュメントの末尾にある追加の参照資料をご覧ください。

  • マネージ アドインのオンデマンド読み込み。

  • CLR の遅延読み込み。

  • ClickOnce の代わりに MSI 展開パッケージを使用します。

  • 該当する場合は、スキーマの検証、マニフェストのデジタル署名の検証、更新プログラムの自動確認をバイパスする高速パスを使用します。高速パスの使用に関する詳細は、ブログ投稿「近日公開のサービス パックでパフォーマンスを改善する (Stephen Peters)」を参照してください。

  • アドインでリボンを拡張したり、大きなライブラリにリンクしたりする場合は、リボンのリフレクションをオーバーライドします。

まとめ

メール アプリは、Web サービスやコンテキストに応じた Web ドリブンの UI を Outlook および Outlook Web App に直接組み込むという、たいへん興味をそそられる機会を開発者に提供します。私たちは、「一度書けば、どこででも実行できる」という私たちのビジョンを Exchange および Outlook の開発者の皆様にお届けしてきました。今回、拡張手段として 2 本の柱が提供されたことになります。最初の柱は Office 2000 で導入された Office COM アドインを土台とするものであり、2 番目の柱はメール アプリ プラットフォームを土台とするものです。COM アドイン モデルは Outlook クライアントのみとの深い統合をサポートするものですが、ソリューションをインストールするときはデスクトップの隅々まで手を加える必要があります。既存のアドイン ソリューションをお持ちの場合は、インライン返信、共存、およびアドイン無効化機能に対応するようにアドインを更新することを検討する必要があります。Outlook および Outlook Web App を使用している非常に大きなユーザー層にリーチを伸ばす新しい機会をお探しなら、メール アプリを作成することをお勧めします。Web からのシンプルな展開と、Web サービスを Outlook の UI に直接統合する機能を活用できます。どちらの道を選ぶとしても (もちろん両方を選ぶこともできます)、コーディングをお楽しみください!

その他の技術情報

Office アドイン

天気予報バー

Outlook および Office のオブジェクト モデル

Outlook Social Connector

共存と MAPI

Visual Studio における Office アドインのパフォーマンスと開発

その他