Outlook 用のソリューションを開発するための API またはテクノロジの選択

この記事では Outlook 2013 および Outlook 2016 を拡張するために使用できる API とテクノロジについて説明しており、各自のシナリオに適した API またはテクノロジを判断する際に役立てることができます。

Microsoft は、Outlook を拡張するさまざまな API とテクノロジをサポートしています。

  • Office 2013 以降、Office プラットフォーム用アプリにより、デスクトップ、タブレット、スマートフォンで動作するすべての Outlook クライアントで Outlook の機能を拡張することが可能になりました。 Office プラットフォームには、JavaScript API for Office とアプリ マニフェストのスキーマが含まれます。

  • オブジェクト モデル、それに対応する Outlook プライマリ相互運用機能アセンブリ (PIA)、メッセージング API (MAPI) が、Outlook ソリューションで最もよく用いられる API です。

  • 補助 API は、一部のシナリオで MAPI を補完します。

  • Outlook Social Connector (OSC) プロバイダー拡張機能と天気予報バー拡張機能は、ニッチ マーケットの特定のシナリオで役立ちます。

この記事では、Office アドイン プラットフォーム、オブジェクト モデル、PIA、MAPI の選択基準について説明します。 Office アドインは、JavaScript API for Office を使用する場合にオブジェクト モデルを呼び出すことはなく、その逆も起こらないことに注意してください。 他の API を使用するソリューションでは、1 つ以上の API が使用されることがあります。 たとえば、C++ で作成された COM アドインは、同じソリューション内でオブジェクト モデル、MAPI、および補助 API を使用することがあります。

この記事を最大限活用するには、ユーザー レベルで Outlook に精通しており、一般的なソフトウェア開発の知識を持っている必要があります。 しかし、前述の API やテクノロジがサポートする機能を広範囲に理解している必要はありません。 この記事から次の質問の答えが得られます。

  • 自分が開発するソリューションの目標、ターゲットにするマーケット、利用可能なリソースについてのアイデアだけがある場合、他のどのような基準を検討して API を選択する必要があるか。

  • どのような理由で Office アドイン を検討することになるのか、またどのような場合にアドインではなくアプリの作成を選択するか。

  • ソリューションを古いバージョンの Outlook (Outlook 2003 を含む) で実行しなければならない場合、そのことが API の選択にどのように影響するか。

  • ソリューションが何千ものアイテムを含む Outlook フォルダーを反復処理しなければならず、それらのアイテムを変更することもできなければならない場合、どの API が最適か。

  • ソリューションが Outlook ビジネス ロジックに大きく依存しており、かつ他の Office アプリケーションとも対話する場合、Outlook オブジェクト モデルを選択することが最善か。

  • オブジェクト モデルと MAPI を使用することにより、Outlook をどのように拡張できるか。

  • タスクの実行にオブジェクト モデルと MAPI のいずれかを使用できる場合、使用する API をどのように決定するか?

目標評価基準

このセクションでは、Office アドイン プラットフォーム、オブジェクト モデル、PIA、MAPI を比較してどれがより良く要件を満たすのか判断する際に使用する基準について説明します。 プロジェクトや使用可能なリソースによって、各種基準の重要度は異なります。

このセクションの表では、評価基準を次の分類に分けて定義しています。

  • 機能上の基準テクノロジを使用して行えることと行えないことを説明します。

  • 開発上の基準テクノロジの使用に必要な開発ツールまたは情報について説明します。

  • セキュリティ上の基準テクノロジに関係するセキュリティおよびアクセス許可の問題について説明します。

  • 展開上の基準テクノロジに対して推奨される展開および配布メソッドについて説明します。

Office プラットフォーム用アプリの客観的な評価基準

Office 2013 以降、開発者は Office アドイン プラットフォームを使用して Web サービスとコンテンツを Office のリッチ クライアントと Web クライアントのコンテキストに拡張することができます。 Office アドイン は、一般的な Web テクノロジを使用して開発され、(Outlook などの) Office クライアント アプリケーション内部でホストされる Web ページで、 社内またはクラウドで実行できます。 Office アドイン の中でも、Outlook がサポートするタイプはメール アプリといいます。 Outlook をアプリケーション レベルで自動化するためにオブジェクト モデル、PIA、MAPI をよく使用しますが、JavaScript API for Office を使用してアイテム レベルで電子メール メッセージ、会議出席依頼、予定の内容やプロパティを連動させることもできます。 メール アプリは Office ストア や社内の Exchange カタログに公開できます。

エンド ユーザーや管理者はメール アプリを Exchange メールボックスにインストールすれば、Outlook リッチ クライアントや Outlook Web App でもメール アプリを使用できます。 開発者であれば、自分のメール アプリをデスクトックでのみ利用可能にしたり、タブレットやスマートフォンでも利用可能にしたりすることもできます。 図 1 に、方法: YouTube ビデオを表示するための Outlook 2013 プレビュー用メール アプリを構築する方法で詳しく説明されている YouTube メール アプリの例を示します。 YouTube メール アプリにより、エンド ユーザーは YouTube の URL を選択して、デスクトップやタブレットの Outlook または Outlook Web App 内でビデオを見ることができます。

図 1. 選択したメッセージには YouTube.com のビデオの URL が含まれていて、このメッセージに対して YouTube メール アプリがアクティブになっている

Outlook での YouTube メール アプリ

ユーザーがメール アプリをインストールすると、そのときのコンテキストがアプリの指定するアクティブ化条件と一致した場合、アプリ バーでアプリが使用可能になります。 メール アプリでは、そのときに選択されているアイテムに関して、特定の条件と一致するときにのみメール アプリをアクティブにするルールを指定することができます。 たとえば、選択した Outlook アイテムに YouTube.com のビデオの URL が含まれているときにのみ Outlook 内で YouTube ビデオを再生できるようにする YouTube メール アプリがその一例です。 この場合、選択したメッセージに先のような URL が含まれている場合にのみ、アプリがアクティブになるように指定します。

次の表は、Office アドイン プラットフォームの評価基準を示しています。

機能上の基準

基準 Office プラットフォーム用のアプリでのメール アプリのサポート
アプリケーション ドメイン メール アプリのアクティビティの対象範囲は、ユーザーが選択しておりかつアクティブ化条件と一致する、ユーザーの Exchange メールボックス内にあるサポートされている、実質的にすべてのメッセージまたは予定アイテムです。 メール アプリのアクセス許可によって、アイテムに存在するプロパティおよび特定のエンティティ (電子メール アドレスや電話番号など) に対してどのようなアクセスが行えるか判断されます。 たとえば、 メールボックスの読み取り/書き込み アクセス許可を要求するメール アプリは、ユーザーのメールボックスにあるすべてのアイテムのすべてのプロパティに対して読み取りおよび書き込みを行い、すべてのフォルダまたはアイテムに対して作成、読み取り、書き込みを行い、そのメールボックスからアイテムを送信できます。
主要オブジェクト JavaScript API for Office は、Office アドイン のすべてのタイプで共有される最上位の少数のオブジェクト OfficeContext、および AysncResult を提供します。 その次のレベルの、メール アプリに関連する固有の API には、 MailboxItemUserProfile オブジェクトが含まれ、これらはユーザーおよびユーザーのメールボックスで選択されているアイテムに関する情報へのアクセスをサポートします。 データ レベルでは、 CustomProperties および RoamingSettings オブジェクトがそれぞれ、選択したアイテムおよびユーザーのメールボックスに対してメール アプリが設定したプロパティの保持をサポートします。 アイテム レベルのオブジェクトには、 Item を継承する Appointment オブジェクトと Message オブジェクト、および Message を継承する MeetingRequest オブジェクトが含まれます。 これらはメール アプリをサポートする、予定や会議などの予定表アイテムや、電子メール メッセージ、会議出席依頼、応答、取り消しなどのメッセージ アイテムといった Outlook アイテムのタイプを表します。 API でこのレベルを超えるものには、 特定の既知の Entities オブジェクト ( ContactMeetingSuggestionPhoneNumber、および TaskSuggestion など) をサポートするオブジェクトやプロパティだけでなく、アイテム レベルのプロパティ ( Appointment.subject など) もあります。 メール アプリ用にサポートされている機能の要約については、「Outlook 2013 プレビュー用メール アプリの開発の基本」を参照してください。
データ アクセス モデル JavaScript API for Office は、アプリの実行時環境、ユーザーのメールボックスおよびプロファイル、アイテムに関するデータの機能を階層的なオブジェクトの集合として表します。
スレッド モデル 各メール アプリは、Outlook プロセスとは別の独自のプロセスで実行されます。
アプリケーション アーキテクチャ Outlook において、メール アプリは Web ブラウザー コントロール内部の別個のプロセスとしてホストされる HTML と JavaScript の Web ページの集まりであり、Web ブラウザー コントロールはセキュリティとパフォーマンス分離を提供するアプリ ランタイム プロセス内部でホストされます。
リモート使用 メール アプリは JavaScript API for Office を使用して、通信する Exchange Server に保管されている現在のユーザー、メールボックス、選択したアイテムに関するデータにアクセスします。 メール アプリには適切なアクセス許可が付与されており、クロス ドメイン アクセスに適した方法を使用するなら、メール アプリは Exchange Web Services および他のサード パーティ Web サービスを呼び出して機能を拡張することもできます。
トランザクション JavaScript API for Office はトランザクションをサポートしません。
Availability Outlook 2013 以降、JavaScript API for Office は Exchange Server 2013 のメールボックスで使用できます。

展開上の基準

基準 Office 用アプリ プラットフォームでのメール アプリ サポート
言語とツール HTML5、JavaScript、CSS3、XML、REST API といった一般的な Web テクノロジを使用するメール アプリを実装できます。 自分で選択した Web 開発ツールを使用できます。 しかし、Napa、Visual Studio 2012、またはこれらのツールの新しいバージョンを使用すれば、開発に要する時間を節約できます。
マネージ実装 シナリオに適している場合は、メール アプリのサーバー側コードをマネージ .aspx ページを使用して実装できます。
スクリプトで使用可能 JavaScript API for Office はスクリプト内で直接使用されます。
テストおよびデバッグ ツール お好みのどの Web 開発ツールでも使用できます。 Napa と Visual Studio は、アプリのテストとデバッグを行うのに便利な統合開発環境を提供します。 「Outlook アドインのアクティブ化のトラブルシューティング」と「サンプル: Outlook アイテムのプロパティのデバッグ」に、メール アプリのトラブルシューティングとデバッグに関するさらに役立つ情報があります。
エキスパートの調達のしやすさ 要求されている Office アドイン の Web 開発の専門スキルを備えたプログラマは比較的容易に見つかります。 このプラットフォームは、専門的開発者および非専門的開発者の両方を対象としています。
利用可能な情報 Office アドイン の開発と公開に関する情報は、「Office および SharePoint 用アプリのビルド」にあります。 メール アプリに関する特定の資料は、「Outlook 2013 プレビュー用のメール アプリ」にあります。
開発者および展開ライセンス Office アドイン アプリのライセンス フレームワークに関する情報については、「Office アドインおよび SharePoint アドインのライセンス」を参照してください。

セキュリティ上の基準

基準 Office 用アプリ プラットフォームでのメール アプリ サポート
デザイン時権限 メール アプリの開発に特別な権限は必要ありません。
セットアップ権限 デフォルトでは、エンドユーザーと管理者は 制限 または アイテムの読み取り権限が必要な低信頼メール アプリをインストールでき、管理者は メールボックスの読み取り/書き込み権限を必要とする高信頼メール アプリをインストールできます。
実行時権限 メール アプリは、 制限アイテムの読み取りメールボックスの読み取り/書き込みの 3 層のアクセス許可モデルに基づいて特定のレベルの権限を要求します。 .
組み込みセキュリティ機能 Office アドイン ランタイムには、アプリがエンド ユーザーの環境に損傷を与えないようにするための次の利点があります。アプリが実行されているプロセスを分離します。 .dll または .exe 置換または ActiveX コンポーネントを使用しません。 エンドユーザーによるアプリのインストールまたはアンインストールが容易です。 管理者とエンドユーザーは、使用可能なメール アプリを制御することができ、メール アプリをインストールする前に要求された権限を付与するかどうかを判断できます。 リッチ クライアントの場合、悪意あるサービス拒否攻撃を防ぐためにメモリーと CPU の使用状況を統御します。
セキュリティ監視機能 メール アプリの場合は、CPU コア使用率というリソースが監視されます。 メモリー使用状況。 クラッシュ回数。 アプリケーションをブロックする時間。 正規表現応答時間。 正規表現の再評価回数。 管理者は、リソース使用状況を制御するデフォルト設定に優先する設定を行えます。

展開上の基準

基準 Office 用アプリ プラットフォームでのメール アプリ サポート
サーバー プラットフォームの要件 メール アプリをインストールするユーザーのメールボックスは Exchange Server 2013 またはそれ以降のバージョン上になければなりません。
クライアント プラットフォームの要件 Outlook リッチ クライアント上で実行するメール アプリの場合、Outlook 2013 と Internet Explorer 9 (両方のアプリケーションについてそれ以上のバージョン) をローカル コンピューターにインストールする必要があります。
展開の方法 メール アプリは、Office ストア や Exchange Server 上でアプリをユーザーに提供する Exchange カタログに公開することができます。 その後、管理者またはユーザーは、 Exchange 管理センター (EAC) を使用するかまたはリモート Windows PowerShell コマンドレットを実行して、Office ストア または Exchange カタログからメール アプリをインストールできます。 EAC へは、Outlook Backstage ビューまたは Outlook Web App から、あるいはメールボックスから直接 EAC にサインインしてアクセスできます。 詳細については、「Outlook 2013 プレビューでのテスト用メール アプリの展開とインストール」を参照してください。
展開に関する注意事項 メール アプリを Outlook または Outlook Web App にインストールすると、そのメール アプリは両方の Outlook クライアントの同じメールボックスで利用可能になります。

オブジェクト モデルと PIA の客観的な評価基準

クライアント コンピューター上で実行するソリューションは、Outlook オブジェクト モデルまたは PIA を使用して、連絡先、メッセージ、予定表アイテム、会議出席依頼、タスクなどの Outlook アイテムにプログラム経由でアクセスします。 MAPI とは異なり、Outlook オブジェクト モデルと PIA は、現在のフォルダの変更や Outlook 検査の表示といった Outlook ユーザー インターフェイスの変更のイベント通知を提供できます。

注:

[!メモ] Microsoft Exchange メールボックスまたは個人用フォルダー (.pst) ファイルに保管されているデータにアクセスするソリューションの場合、アプリケーションが実行されているクライアント コンピューターに Outlook をインストールして設定する必要があります。 > Outlook オブジェクト モデルと PIA では、Outlook を拡張するために同じ機能がサポートされています。 PIA は、COM ベースのオブジェクト モデルにマップし、マネージ ソリューションとの対話が可能なマネージ インターフェイスを定義します。 このセクションの残りの部分では、機能上、セキュリティ上、展開上の基準のほとんどが、オブジェクト モデルと PIA に同じように適用されます。 PIA が COM と.NET Framework間の相互運用性を促進する方法の詳細については、「COM と .NET の相互運用性の概要」および「Outlook PIA のアーキテクチャ」を参照してください。

Outlook オブジェクト モデルと PIA の評価基準を次の表に示します。

機能上の基準

基準 Outlook オブジェクト モデル または PIA
アプリケーション ドメイン Outlook オブジェクト モデルまたは PIA を使用するアドインやスタンドアロン アプリケーションは、通常、ユーザー固有メッセージの処理、Outlook ユーザー インターフェイスのカスタマイズ、Outlook と統合する顧客関係管理 (CRM) ソリューションなどの特殊なソリューション用にカスタム アイテム タイプの作成を行います。 Outlook オブジェクト モデルや PIA は、特に Microsoft Exchange Server 上のアプリケーション開発が許可されていない非公式なワークフロー プロセスでのメッセージ処理に使用されることもあります。 ブラウザ ベースのクライアントとは異なり、ユーザーがオフラインであったり企業ネットワークから切断されている場合でも、キャッシュ モード操作によって Outlook ソリューションは動作します。
主要オブジェクト Outlook オブジェクト モデルと PIA の最上位オブジェクトは Outlook Application オブジェクトです。 ExplorersConversationInspectorsViewsNavigationPaneSolutionsModuleFormRegion および関連オブジェクトは、Outlook ユーザー インターフェイスの要素を表します。 NameSpaceStoresFoldersAccountsAccountSelectorAddressEntriesExchangeUser および関連オブジェクトは、Outlook セッション、プロファイル、ユーザー アカウント、メッセージ ストア、およびフォルダの拡張をサポートします。 データ レベルでは、 MailItemAppointmentItemContactItem、および TaskItem などのいくつかのアイテム レベルのオブジェクトが組み込み Outlook アイテム タイプを表します。 PropertyAccessorTableSearchItemPropertiesUserDefinedPropertiesAttachmentsCategoriesRecipientsRecurrencePatternRemindersRules、および関連オブジェクトはアイテム レベルのオブジェクトのカスタマイズと操作をサポートします。
データ アクセス モデル Outlook オブジェクト モデルと PIA は、すべてのデータをオブジェクトとコレクションの階層的な集合として表します。
スレッド モデル Outlook オブジェクト モデルと PIA へのすべての呼び出しは、Outlook のメイン フォアグラウンド スレッドで実行されます。 Outlook オブジェクト モデルが唯一サポートするスレッド モデルはシングルスレッド アパートメント (STA) です。 Outlook オブジェクト モデルまたは PIA をバックグラウンド スレッドから呼び出すことはサポートされていないため、ソリューションがエラーになったり予期しない結果になる可能性があります。
アプリケーション アーキテクチャ 通常、COM アドインと他の Office アプリケーションは Outlook オブジェクト モデルを使用して Outlook を拡張します。 マネージ ソリューションは Outlook PIA と Visual Studio および .NET Framework の COM 相互運用性レイヤーとを使用して Outlook オブジェクト モデルにアクセスすることができます。 Visual Studio にはテンプレートと追加のクラス ライブラリおよびマニフェストとが用意されていて、Office のドキュメントとアプリケーションのカスタマイズを容易に行うことができます。 Visual Studio を使用した Outlook 用マネージ アドインの開発の詳細については、「Architecture of Application-Level Add-Ins」および「Outlook Solutions」を参照してください。 また、Outlook オブジェクト モデルは Visual Basic for Applications (VBA) マクロと Windows スクリプト ホスト (WSH) をサポートしますが、Windows サービス アプリケーションはサポートしません。
リモート使用 Outlook オブジェクト モデルと PIA は、Outlook がインストールされているコンピュータでのみ使用できます。 Outlook オブジェクト モデルを使用して、Exchange に保管されている Outlook アプリケーション内で利用可能な情報にアクセスできます。
トランザクション Outlook オブジェクト モデルと PIA はトランザクションをサポートしません。
可用性 Outlook オブジェクト モデルは現在すべてのバージョンの Outlook で使用できます。 PIA は Outlook 2003 以降のすべてのバージョンの Outlook で使用できます。 Outlook の各新バージョンには、それぞれに拡張機能や改良点があります。

展開上の基準

基準 Outlook オブジェクト モデル または PIA
言語とツール COM または Visual Basic や C# といったどのオートメーション互換言語、さらにはネイティブの C や C++ といった非 COM 言語のどの言語でも、Outlook オブジェクト モデル アプリケーションを実装できます。 Microsoft Visual Studio 2010 の Microsoft Office 開発ツール は、Outlook 2010 および Outlook 2007 用マネージ アドイン開発の推奨ツールです。 Microsoft Visual Studio 2005 Tools for the Microsoft Office System は Outlook 2003 用の推奨ツールです。 また、Visual Studio 2010 の Office 開発ツール を使用して 32 ビットおよび 64 ビット版 Outlook のソリューションを作成することができます。 Visual Studio 2010 の Office 開発ツール または Microsoft Visual Studio Tools for the Microsoft Office System でソリューションを作成する場合は、対象のプラットフォームに [ Any CPU] オプションを指定すると、32 ビットおよび 64 ビット版の Outlook 2010 の両方に対応するマネージ ソリューションが作成されます。
マネージ実装 Outlook PIA を使用すると、マネージ コード環境で Outlook オブジェクト モデルを使用できます。これは、豊富なクラス ライブラリのセットでサポートされ、VBA アドインと COM アドインの多くの制限に対処するサポート テクノロジによってサポートされます。PIA は、マネージド環境と COM 環境の間のブリッジとして機能する COM ラッパーです。 詳細については、「 Outlook PIA を使用する理由」を参照してください。
スクリプトで使用可能 Outlook オブジェクト モデルはスクリプト内で使用できます。
テストおよびデバッグ ツール Outlook オブジェクト モデルや PIA を使用するために、特殊なデバッグ ツールは必要ありません。 一方、Visual Studio を使用すれば、アプリケーションのテストとデバッグを行うのに便利な統合開発環境が提供されます。
エキスパートの調達のしやすさ Outlook オブジェクト モデルや PIA を使用して首尾よくアプリケーションを開発する開発者を見つけるのは比較的容易です。 Outlook オブジェクト モデルと PIA は、Visual Studio などの広範囲に利用可能な開発ツールを使用して作成されたアドイン向けです。 これらのツールは開発プロセスを簡潔にするデザイン時環境を提供します。
利用可能な情報 Outlook オブジェクト モデルを使用したプログラミングに関する情報は、Microsoft とサード パーティの両方から入手できます。 Outlook オブジェクト モデルの詳細については、「Outlook 2010 開発者用リファレンス」を参照してください。 Outlook PIA の詳細については、「プライマリ相互運用機能アセンブリ リファレンス」を参照してください。 Visual Studio でOffice 開発ツールを使用して開発した管理 Office ソリューションの例については、「 Visual Studio を使用した管理 Outlook ソリューション」を参照してください。
開発者および展開ライセンス ご使用のアプリケーションで Outlook および Outlook オブジェクト モデルの使用に追加のライセンスが必要かどうかを判断するには、Exchange および Microsoft Developer Network (MSDN) サブスクリプション ライセンス契約を確認してください。

セキュリティ上の基準

基準 Outlook オブジェクト モデルまたは PIA
デザイン時権限 Outlook オブジェクト モデルまたは PIA を使用してアプリケーションを開発するために、特別な権限は必要ありません。
セットアップ権限 Outlook オブジェクト モデルや PIA を使用するアプリケーションをインストールするために、特別な権限は必要ありません。 ただし、Office と Outlook をインストールするためにローカル管理者権限が必要です。
実行時権限 Outlook オブジェクト モデルまたは PIA を使用するアプリケーションを実行するために、特別な権限は必要ありません。
組み込みセキュリティ機能 Outlook オブジェクト モデルと PIA は、MAPI を使用して Exchange と、Active Directory サービス インターフェイス (ADSI) を使用して Active Directory と通信します。 アプリケーションを実行中のユーザーの現在のセキュリティ コンテキストを使用して、コードがどのリソースにアクセス可能か判別されます。 既定では、アドインは Outlook オブジェクト モデルまたは PIA のすべてのオブジェクト、プロパティ、 メソッドへの完全なアクセスが可能です。 IT 管理者は、どのアドインとオブジェクトが Outlook オブジェクト モデルまたは PIA にアクセス可能かを制御することができます。 Outlook オブジェクト モデルと PIA は、Outlook プロセス外で実行されているコードがセキュリティ保護されたオブジェクトやメソッドにアクセスできないようにします。
セキュリティ監視機能 Outlook では、アドインの次のメトリックを監視して、アドインを無効にするかどうかを判断します。スタートアップ シャットダウン フォルダー スイッチ [ アイテムの起動 頻度] 管理者は、グループ ポリシーを使用してユーザー設定をオーバーライドし、ユーザーのコンピューターで実行されるアドインを制御できます。 詳細については、「 アドインを有効に保つためのパフォーマンス基準」を参照してください。

展開上の基準

基準 Outlook オブジェクト モデルまたは PIA
サーバー プラットフォームの要件 Outlook オブジェクト モデルと PIA はクライアント側のテクノロジです。
クライアント プラットフォームの要件 Outlook オブジェクト モデルまたは PIA を使用して Exchange データにアクセスするアプリケーションを使用するには、ローカル コンピューターに Outlook がインストールされていることが必要です。
展開方法 Outlook オブジェクト モデルまたは PIA を使用するアプリケーションは、標準のアプリケーション インストール ソフトウェアを使用して配布されます。
展開に関する注意事項 Outlook を Exchange Server にインストールすることができないため、Outlook オブジェクト モデルや PIA を使用するアプリケーションは Exchange Server 上で実行できません。

MAPI の客観的な評価基準

MAPI を使用して、公開用ストアおよび非公開ストアにあるアイテムやフォルダーにアクセスしたり、各アイテムとともに保管されているプロパティにもアクセスできます。 すべてのバージョンの Outlook で MAPI を使用できます。 MAPI を使用するクライアントを作成したり、MAPI サーバーや MAPI フォーム ハンドラーを作成することも可能です。 このセクションの情報は MAPI クライアント アプリケーションにのみ適用されます。

注:

[!メモ] MAPI は Exchange または個人用フォルダー (.pst) ファイル内にある情報へのアクセスに使用される成熟したメカニズムで、MAPI は他の API にはないいくつかの機能を提供します。 しかし、MAPI はイントラネット外では十分に機能せず、MAPI セッション継続中は接続が開かれたままになりますし、習得が難しいかもしれません。 MAPI は Outlook ビジネス ロジックを強制しないため、Outlook ビジネス ロジックが必ず保持されるよう特に注意する必要があります。

MAPI の評価基準を次の表に示します。

機能上の基準

基準 MAPI
アプリケーション ドメイン MAPI を使用するクライアント アプリケーションは、Exchange に保管されているユーザー メールボックスやパブリック フォルダー情報および Active Directory に保管されているユーザー ディレクトリ情報にアクセスします。 一般に、MAPI を使用するクライアント アプリケーションは、Outlook などの電子メール クライアントや複雑な電子メール処理を必要とするアプリケーションです。
主要オブジェクト MAPI オブジェクトはすべて IMAPISession: IUnknown インターフェイスを通して取得します。 セッション オブジェクトはオブジェクトへのクライアント アクセスを提供して、MAPI プロファイル、状態、メッセージ サービス プロバイダー管理、メッセージ ストア テーブル、アドレス帳を処理できるようにします。 メッセージ ストア テーブルには、メッセージ ストア、フォルダ、メッセージ、添付ファイル、受信者のオブジェクトが含まれます。 アドレス帳テーブルには、ユーザーや配布リストにメッセージ送信するためのオブジェクトが含まれています。
データ アクセス モデル MAPI はメッセージとユーザーを階層的なオブジェクトの集合として表します。
スレッド モデル スレッドに関する特定の禁止事項はありません。 しかし、オブジェクトのマーシャリングのコストが大きいため、フリースレッドを使用するアプリケーションではスレッド間で MAPI オブジェクトを共有しないようにする必要があります。 MAPI および MAPI サービス プロバイダーはフリースレッドを使用します。
アプリケーション アーキテクチャ 一般に、MAPI クライアント アプリケーションは Windows フォーム ベースのクライアント アプリケーションです。 しかし、MAPI を使用して N 層アプリケーションを作成できます。
リモート使用 MAPI はリモート プロシージャ コール (RPC) を使用して Exchange Server と通信します。 通常、RPC はインターネット ファイアウォールを通過しないよう意図的にブロックされています。
トランザクション MAPI はトランザクションをサポートしません。
可用性 MAPI スタブは現在すべてのバージョンの Windows に付属しています。 Office は、Outlook インストール時に、独自の MAPI サブシステムをインストールします。 この時点で、MAPI は変更されません。

展開上の基準

基準 MAPI
言語とツール C または C++ を使用することにより、MAPI に直接アクセスすることができます。 C/C++ 呼び出し規約にアクセス可能な他の言語も MAPI にアクセスできる場合があります。 Visual Basic や C# などのマネージ言語の使用はサポートされていません。 32 ビット版の Outlook と 64 ビット版の Outlook 用に別個に MAPI ソリューションをコンパイルする必要があります。
マネージ実装 MAPI はアンマネージ コンポーネントです。 Visual Studio と .NET Framework の COM 相互運用性レイヤーでは MAPI の使用はサポートされていません。
スクリプトで使用可能 スクリプト内では MAPI を直接使用できません。
テストおよびデバッグ ツール MAPI を使用するアプリケーションをデバッグするために特別なデバッグ ツールは必要ありません。 一方、 MFCMAPI を使用できます。 MFCMAPI は、MAPI を使用して、グラフィカル ユーザー インターフェイスを介して MAPI ストアへのアクセスを提供し、MAPI を使用して Outlook を拡張するときに問題の調査を容易にします。
エキスパートの調達のしやすさ 熟達した MAPI プログラマを見つけることは容易ではなく、このテクノロジを学習するには多大の時間を要します。 Microsoft コミュニティに加えて、MAPI 開発に役立つ情報を提供しているサード パーティによる質の高い Web サイトが少数ながらあります。
利用可能な情報 MAPI プログラミングを説明した Microsoft とサード パーティの書籍が入手可能です。
開発者および展開ライセンス MAPI を使用するアプリケーションを開発するために、特別なライセンスは必要ありません。

セキュリティ上の基準

基準 MAPI
デザイン時権限 開発者は Exchange ストア内のデータにアクセスする権限を持っていなければなりません。 Exchange はユーザーおよび配布リストの情報を Active Directory に保管するため、その情報にアクセスする MAPI クライアント アプリケーションを作成する開発者はその情報を取得および設定できなければなりません。
セットアップ権限 通常、MAPI ベースのアプリケーションを設定するには、ユーザーがローカル管理者であるか、またはソフトウェアをインストールする権限を持っている必要があります。
実行時権限 通常、MAPI ベースのアプリケーションを実行するには、ユーザーが Exchange ストアまたは個人用フォルダー (.pst) ファイルのデータにアクセスする十分な権限を持っていることだけが必要です。
組み込みセキュリティ機能 MAPI プロファイルは、ほとんどのプラットフォームでパスワードによる保護ができます。

展開上の基準

基準 MAPI
サーバー プラットフォームの要件 MAPI クライアント アプリケーションのユーザーのユーザー データが保管されている Exchange Server は、MAPI クライアントがアクセスできるように正しく設定されている必要があります。
クライアント プラットフォームの要件 クライアント アプリケーション インストーラーは、適切なバージョンの MAPI がコンピューター上で使用可能であること、および MAPI が Mapisvc.inf ファイルを使用して正しく設定されていることを確認します。
展開方法 MAPI を使用するアプリケーションは、標準のソフトウェア配布テクノロジを使用してクライアント コンピューターに展開できます。
展開に関する注意事項 インストーラーは、正しいバージョンの MAPI が使用可能になっていることを確認します。

Office プラットフォーム用アプリの決定要因

Office アドイン には Web テクノロジが使用されているので、クラウドや社内管理で提供されるサービスへの接続、またそのサービスのリッチ クライアントや Web クライアントのコンテキストへの統合に最も適しています。 適切な権限を要求することにより、メール アプリもメールボックス内のアイテムの読み取り、書き込み、または送信を行えます。

開発者にとってアドインよりもメール アプリを選択するほうが良いと言える一般的な理由は次のとおりです。

  • HTML、JavaScript、CSS などの Web テクノロジの既存の知識と利点を利用できます。 パワー ユーザーと新人開発者にとって、XML、HTML、JavaScript は、オブジェクト モデルや MAPI を含め、COM ベースの API よりも習得に要する時間が少なくて済みます。

  • 単純な Web 展開モデルを使用することで、Outlook クライアントに複雑なインストール作業を行わずに、Web サーバー上のメール アプリ (そのアプリが使用する Web サービスを含む) を更新できます。 実際、アプリ マニフェストの場合を除き、メール アプリの更新では Office クライアント上でのアップデートが必要ありません。 便利なことに、メール アプリのコードやユーザー インターフェイスは Web サーバー上で更新できます。 このことは、アドインの更新に関連する管理オーバーヘッドの面で顕著な利点です。

  • デスクトップ、タブレット、スマートフォン上の Outlook リッチ クライアントや Outlook Web アプリ間でローミング可能な、メール アプリ用の共通 Web 開発プラットフォームを使用できます。 他方、アドインは Outlook リッチ クライアント用のオブジェクト モデルを使用するため、デスクトップ フォーム ファクターのリッチ クライアントでのみ実行可能です。

  • Office ストア によって、アプリのビルドとリリースを短時間で進めることができます。

  • 3 層のアクセス許可モデルのために、ユーザーと管理者はアドインよりもメール アプリのほうがセキュリティとプライバシーが保護されていると感じます。 それは、アドインがユーザーのプロファイル内の各アカウントの内容に対する完全なアクセスを持っているためで、そのためにユーザーはかえってアプリを使用することを選びます。

  • シナリオによっては、メール アプリに固有の、アドインではサポートされていない便利な機能があります。

    • 特定のコンテキストでのみメール アプリがアクティブ化されるように指定できます (ユーザーが選択した予定のメッセージ クラスが IPM.Appointment.Contoso である場合や電子メールの本文にパッケージ追跡番号や顧客 ID が含まれている場合にのみ、Outlook のアプリ バーにアプリが表示されるなど)。

    • 選択したメッセージに住所、連絡先、電子メール アドレス、提案された会議、タスクのヒントなど何らかの既知のエンティティが含まれている場合に、メール アプリをアクティブ化できます。

    • ID トークンによる認証および Exchange Web サービスの利点を活用できます。

しかし、以下の機能はアドインだけにあり、特定の状況ではメール アプリよりもアドインを選択するほうがよい場合があります。

  • オブジェクト モデルと PIA は Outlook の機能 (すべての Outlook アイテムの種類、ユーザー インターフェイス、セッション、ルールなど) と広範に統合されているため、アドインを使用して、アプリケーション レベルで Outlook を拡張または自動化できます。 アイテム レベルでは、アドインは読み取りモードまたは新規作成モードでアイテムと対話できます。 メール アプリでは、アプリケーション レベルで Outlook を自動化することはできません。また、ユーザーのメールボックスでサポートされているアイテム (メッセージと予定) の読み取りモードのみのコンテキストで Outlook の機能を拡張できます。

  • 新しいアイテム タイプのカスタム ビジネス ロジックを指定できます。

  • リボンと Backstage ビューにカスタム コマンドを追加したり、カスタム コマンドを変更したりできます。

  • ユーザー設定のフォーム ページやフォーム領域を表示できます。

  • アイテムの送信やアイテムのプロパティの変更などのイベントを検出できます。

  • 以前のバージョンの Outlook や Exchange だけでなく、Outlook 2013 と Exchange Server 2013 でのアドインを使用できます。 一方、メール アプリは Outlook 2013 および Exchange Server 2013 以降の Outlook と Exchange で動作しますが、以前のバージョンでは動作しません。

オブジェクト モデルと PIA がサポートするシナリオの詳細については、次のセクション「オブジェクト モデルまたは PIA の決定要因」を参照してください。 Office アドイン プラットフォームと他の Office 用の拡張機能テクノロジとの比較については、「Office および SharePoint 用アプリの背景」を参照してください。

オブジェクト モデルまたは PIA の決定要因

Outlook オブジェクトモデルまたは PIA でサポートされている主要な ベースライン シナリオ

一般に、ソリューションが Outlook ユーザーインターフェイスをカスタマイズしたり、Outlook のビジネスロジックに依存している場合、オブジェクトモデルまたは PIA を使用します。 以下は、Outlook ソリューションがオブジェクト モデルまたは PIA を使用する主なベースライン シナリオです。

Outlook 2007 以降のオブジェクト モデルまたは PIA でサポートされているシナリオ

ベースライン シナリオに加えて、Outlook ソリューションが次のリストにあるシナリオのいずれかをサポートしている場合、使用しているソリューションが Outlook 2007 以降のバージョンでのみ実行されるものであれば、オブジェクトモデルや PIA も使用できます。 このセクションでは、Outlook オブジェクトモデルで各シナリオを拡張するために使用することができる主なオブジェクトまたはメンバーを指定します(Visual Studio オートメーションオブジェクトモデルのIDTExtensibility2 インターフェイスと、Outlook オブジェクトモデルに統合できる Office オブジェクトモデルでのIRibbonExtensibilityインターフェイスを除く)。

Outlook 2010 以降のオブジェクト モデルまたは PIA でサポートされているシナリオ

Outlook ソリューションを Outlook 2010 以降のバージョンでのみ実行する場合には、次のセクションで示されるシナリオをサポートするオブジェクト モデルまたは PIA を選択して使用できます。 このセクションでは、Outlook オブジェクトモデルで各シナリオを拡張するために使用できる主なオブジェクトまたはメンバーを指定します(Outlook オブジェクトモデルと統合できる Office オブジェクトモデル内のIRibbonControlIRibbonExtensibilityIRibbonUIインターフェースを除く)。

Outlook 2013 以降のオブジェクト モデルまたは PIA でサポートされているシナリオ

Outlook ソリューションを Outlook 2013 以降のバージョンでのみ実行する場合には、次のリソースで示されるシナリオをサポートするオブジェクト モデルまたは PIA を使用できます。

MAPI の決定要因

一般に、Microsoft Exchange サーバーなどの MAPI ベースのサーバーにあるデータにアクセスしたり、次のような作業を行ったりするには、MAPI を使用します。

  • アドレス帳プロバイダー、転送プロバイダー、ストア プロバイダーなどのカスタム サービス プロバイダーの作成。

  • シンク プロセスの作成。

  • プロファイルの作成または操作。

  • アプリケーションの Windows NT サービスとしての実行。

  • バック グラウンド スレッドでのタスクの実行。 たとえば、フォルダー内の多数のアイテムを列挙したり、バックグラウンド スレッドのアイテムのプロパティを変更したりすることでパフォーマンスを最適化できます。

詳細およびコード サンプルについては、「Outlook MAPI リファレンス」および「MFCMAPI」を参照してください。

また、ソリューションを Outlook 2007 より前のバージョンの Outlook で実行し、次のようなシナリオがソリューションに適用される場合は、MAPI を使用してそのシナリオを拡張してください。

  • オブジェクト モデルでは公開されていないアイテム レベルの組み込みプロパティの設定および取得。
  • アカウント、添付ファイル、Exchange 配布リスト、Exchange ユーザー、ストアの管理。
  • ソリューション用のプライベート データの保管。
  • アカウントのメッセージ ストアの管理。

Outlook 2007 より前であれば開発者が MAPI または Microsoft Collaboration Data Objects (CDO) 1.2.1 や Microsoft Exchange Client Extensions といった他の API の力を借りて実現していた広範囲の機能を、Outlook 2007 以降はオブジェクト モデルがサポートしています。 したがって、前述のリストのいずれかのシナリオが自分のソリューションに当てはまるものの、ソリューションを Outlook 2007 または Outlook 2010 上で実行する場合は、Outlook オブジェクト モデルまたは PIA を使用してこれらのシナリオをサポートすることができますし、そのようにすることをお薦めします。 Outlook 開発テクノロジを統合する Outlook 2007 拡張機能に関する詳細については、「What's New for Developers in Outlook 2007 (Part 1 of 2)」を参照してください。

補助 API の決定要因

Outlook 補助 API は、オブジェクト モデルや MAPI ではソリューションが提供されない一部のシナリオの Outlook ビジネス ロジックや MAPI と統合できます。 次のシナリオでは Outlook 補助 API を使用します。

  • アカウント管理: アカウント情報の管理、アカウントの操作、アカウント変更に関する通知の提供、スパムからのアカウントの保護を行います。
  • データ劣化: オブジェクトをネイティブ形式で公開するのではなく、推奨される文字形式でオブジェクトをラップします。
  • カレンダーとタイム ゾーンのサポートの再編成: 夏時間をサポートするように Outlook 予定表を再編成します。
  • 空き時間情報: 予定表の空き時間情報を提供します。
  • 連絡先の写真: Outlook に連絡先の画像を表示するか決定します。
  • アイテムの現在状態: Outlook アイテムの変更がまだ保存されていないか確認します。
  • アイテムの分類: Outlook アイテムを送信後に、そのアイテムを分類します。

補助 API の詳細については、「その他の技術資料補助 API」セクションをご覧ください。

インプロセス ソリューションとプロセス外ソリューションによる Outlook 自動化の違い

注:

このセクションと次のセクションの Outlook 自動化に関する論考は、Office アドイン の対象ではありません。Office アドイン は、Office クライアントや Web アプリケーションの機能性を拡張することを目的としており、自動化することを目的とはしていません。

Outlook は、Outlook プロセスと同じフォアグラウンド プロセスで実行するアドインを使用することや、Outlook プロセス外部の別個の独自プロセスで実行するスタンドアロン ソリューションによって、自動化をサポートします。 一般に、Outlook を自動化するには、アドインを使用してオブジェクト モデル、PIA、MAPI 経由で、あるいはまれに補助 API (HrProcessConvActionForSentItem など) 経由で Outlook と対話します。 プロセス外ソリューションは、それが必要な場合にのみ使用します (たとえば、Tzmovelib.dll ファイルを使って顧客の Outlook 予定表を再編成する MAPI クライアント アプリケーションを作成している場合や、フォルダ内の多数のアイテムを列挙し、パフォーマンスを最適化するためにそのアイテムのプロパティをバックグラウンド スレッドで変更する場合など)。

アドインは、アドインの OnConnection(Object, ext_ConnectMode, Object, Array) イベント中にアドインに渡された Application オブジェクトのみを信頼するため、Outlook を自動化するための推奨ソリューションです。 この Application オブジェクトからすべてのオブジェクト、プロパティ、メソッドを派生させることで、オブジェクト モデル ガードのセキュリティ警告の表示を回避できます。 アドインが Application オブジェクトの新しいインスタンスを作成する場合、アドインが信頼できるアドインの一覧にある場合でも、Outlook はそのオブジェクトを信頼しません。このような Application オブジェクトから派生したオブジェクト、プロパティ、メソッドは信頼されず、ブロックされたプロパティとメソッドはセキュリティ警告を呼び出します。 Outlook オブジェクト モデル ガードの詳細については、「Outlook オブジェクト モデルのセキュリティ動作」を参照してください。

マネージ ソリューションとアンマネージ ソリューションによる Outlook 自動化の違い

Outlook は、マネージ言語またはアンマネージ言語で作成されたアドインとスタンドアロン アプリケーションによる自動化をサポートします。 よく使用されるマネージ言語は C# と Visual Basic です。 C++ と Delphi のツールはよくアンマネージ環境で使用されます。 マネージ開発とアンマネージ開発のどちらを選択するかは、熟練したプログラマを調達できるかどうかを考慮して決定することになります。

使用するソリューションがオブジェクト モデルのみを使用する場合は、PIA または Visual Studio の Office 開発ツールを使用したマネージ ソリューションの開発を検討できます。 Visual Studio の Office 開発ツールにはプロジェクト テンプレートとビジュアル デザイナーが用意されていて、カスタム ユーザー インターフェイスの作成と Office ソリューションの開発を容易に行えます。

他方、MAPI は .NET Framework より何年も前に開発されており、Microsoft は MAPI 用のマネージ ラッパーを提供していないため、Microsoft ではマネージ コード内での MAPI の使用をサポートしていません。 MAPI を使用している場合は、アンマネージ ソリューションを開発する必要があります。 詳細については、「クライアント側メッセージング開発のサポート ガイドライン」を参照してください。

最適な API とテクノロジ

Outlook Social Connector (OSC) と天気予報バーは、Outlook の非常に特殊なシナリオの拡張をサポートします。

Outlook Social Connector (OSC) プロバイダー拡張機能

Outlook Social Connector (OSC) プロバイダー拡張機能は、ソーシャル ネットワークでの友人やアクティビティの更新を Outlook や他の Office クライアント アプリケーション上に表示できるようにするソーシャル ネットワーク用のプロバイダーの開発をサポートします。 図 6 は、人物情報ウィンドウにソーシャル ネットワーク サイトの人物のアクティビティを表示する OSC を示しています。

図 6. 人物情報ウィンドウにソーシャル ネットワーク データを表示する OSC

[Outlook Social Connector] ウィンドウ

Outlook の OSC は、ユーザーが Outlook の人物からの電子メール、添付ファイル、会議出席依頼の情報を人物情報ウィンドウに表示できます。 組織の環境では、SharePoint サイト上で共同作業するユーザーは、その人物の SharePoint サイトでのドキュメント更新と他のサイトアクティビティを確認できます。 Outlook Social Connector プロバイダー拡張機能は、ソーシャル ネットワークの更新を Outlook で同期化および表示するための OSC 用のプロバイダーの開発をサポートします。 一般的な OSC プロバイダー (Facebook や LinkedIn など) はデフォルトで Outlook にインストールされています。 Outlook ユーザーがサインインするソーシャル ネットワーク サイトによっては、ユーザーは接続するソーシャル ネットワークの写真、ステータス、アクティビティの更新などを人物情報ウィンドウに表示できます。

天気予報バー拡張機能

Outlook 2013 以降、天気予報バー用のサード パーティの天気 Web サービスをプラグインして、ユーザーが選択した場所の天気条件データを提供することができます。 Outlook の天気バーには、ある地点の天気状況と天気予報が表示されます。 ユーザーは 1 つ以上の地点を選択して、予定表モジュールの天気バーという便利な場所に天気データを表示できます。 図 7 は、ニューヨーク州ニューヨークの 3 日間の天気予報が表示された天気バーを示しています。

図 7. Outlook の天気予報バー

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

既定では、Outlook は MSN 天気が提供する天気データを使用します。 天気バーは、Outlook との通信用に定義されたプロトコルに準拠するサード パーティの天気データ Web サービスをサポートします。 サード パーティの天気データ サービスがこのプロトコルをサポートする限り、ユーザーはその天気データ サービスを選択して天気バーに天気データを提供できます。

OSC プロバイダー拡張機能と天気バー拡張機能の使用の詳細については、「その他の技術資料主な参照資料、リソース、コード サンプル」セクションをご覧ください。

まとめ

ソリューションに最適な API またはテクノロジを判断するには、まずソリューションの目標を明確にする必要があります。

  • ソリューションでサポートすることにしている Outlook のバージョン。

  • ソリューションで優先度の高いシナリオ。 ソリューションでは、主にメッセージや予定の内容とプロパティを処理しますか? それともソリューションではアプリケーション レベルで Outlook を自動化しますか? いずれかに該当する場合、そのシナリオには多数の Outlook アイテムを含むフォルダーの列挙、フィルター処理、変更が関係しますか?

まず、Office アドイン プラットフォームのメール アプリ サポートがニーズを満たしているかどうかを確認します。 「Office プラットフォーム用アプリの客観的な評価基準」の「機能上の基準」セクションを参照して、主なオブジェクトや機能がシナリオをサポートをするかどうかを判断します。 セクション「Office プラットフォーム用アプリの決定要因」を参照して、シナリオにとってアドインよりもメール アプリがよりよい選択であるかどうかを判断します。 通常は、可能であれば、各種フォーム ファクター用の Outlook クライアントでプラットフォームのサポートを活用できるように、ソリューションをアプリとして開発します。

シナリオによる拡張がメッセージと予定以外も含む場合、またはOutlook をアプリケーション レベルで自動化する必要がある場合は、「オブジェクト モデルまたは PIA の決定要因」のセクションで略述されているシナリオと照らし合わせてみてください。 対象となるバージョンの Outlook のオブジェクト モデル (または PIA) がシナリオをサポートするものの、ソリューションが多数のアイテムを含むフォルダーを処理できない場合は、そのソリューションをマネージ言語またはアンマネージ言語のアドインとして実装することをお薦めします。

対象となるバージョンの Outlook のオブジェクト モデル (または PIA) が一部のシナリオをサポートしていない場合は、「MAPI の決定要因」または「補助 API の決定要因」セクションのシナリオで要件が満たされるかどうか確認してください。 MAPI で要件が満たされる場合はアンマネージ コードでソリューションを実装します。 補助 API でシナリオの 1 つが解決される場合はマネージ コードまたはアンマネージ コードを使用できます。

ソリューションが MAPI を使用する場合は、ソリューションを C++ などのアンマネージ コードで実装する必要があります。 それ以外の場合、ソリューションの作成にマネージ コードとアンマネージ コードのどちらを使用するかは、一般的に言って利用可能な人材とその熟練度によって決まります。 ソリューションをアドインとスタンドアロン アプリケーションのどちらとして実装するかを決定するときは、多数のアイテムを含むフォルダーの操作が必要となるシナリオでなければ、ユーザーが何度も Outlook Object Model Guard を呼び出さなくてもよいように、アドインを選択してください。 操作が必要なシナリオの場合は、ソリューションをバックグラウンド スレッドで実行するように実装すると、Outlook パフォーマンスを最適化できます。

シナリオにソーシャル ネットワークの情報や更新を Outlook に表示する処理が含まれる場合は、OSC プロバイダー拡張機能を使用して COM 可視 DLL を作成してください。 この作業はマネージ言語とアンマネージ言語のどちらでも行えます。

サード パーティの天気データ サービスを天気バーにプラグインすることを検討している場合は、天気バー拡張機能で定義されているプロトコルに準拠すれば、目的にかなった Web サービスを提供することができます。 そのような Web サービスはマネージ言語で作成できます。

ソリューションで使用する API またはテクノロジが決まったなら、詳細について「その他の技術資料主な参照資料、リソース、コード サンプル」セクションのその他の資料やコード サンプルを参照できます。

Office 用アプリの構築を開始する には、アーキテクチャや開発ライフ サイクルを含む Office アドイン の概要がわかりやすく提供されています。

メール アプリの開発に関するリソースの詳細なロードマップについては、「Outlook アドイン」を参照してください。

関連項目: オブジェクト モデルと PIA

オブジェクトモデルと PIA の使用方法の詳細については、次のリソースを参照してください。

アカウントプロファイルの複数アカウント

アドレス帳と Exchange ユーザー

添付ファイル

  • メール アイテムにファイルを添付する

  • Outlook 2010 で制限される添付ファイルの種類

  • Attachment オブジェクト

  • AttachmentSelection オブジェクト

  • アイテム オブジェクトごとの AttachmentAdd イベント

  • アイテム オブジェクトごとの AttachmentRead イベント

  • アイテム オブジェクトごとの AttachmentRemove イベント

  • アイテム オブジェクトごとの BeforeAttachmentAdd イベント

  • アイテム オブジェクトごとの BeforeAttachmentPreview イベント

  • アイテム オブジェクトごとの BeforeAttachmentRead イベント

  • アイテム オブジェクトごとの BeforeAttachmentSave イベント

  • アイテム オブジェクトごとの BeforeAttachmentWrite イベント

添付ファイル: 検査での選択

Outlook の自動化

カテゴリ

連絡先: 住所とフル ネームの確認

会話

イベント

エクスプローラー: インライン応答

アイテム: 基本のプロパティ、フィールド、フォーム

アイテム: プロパティのカスタマイズ

アイテム: 列挙、フィルター処理、並べ替え

アイテム: タスクとしてのフラグ

MailItem オブジェクトなどの一部のアイテム オブジェクトで次のタスク関連のプロパティを参照してください。

アイテム: Explorer での選択

その他: ビジネス カード、ルール、ビュー

セキュリティ

共有

ソリューション: ソリューション固有のフォルダー

ソリューション: データの保管

ユーザー インターフェイス: フォーム領域のカスタマイズ

ユーザー インターフェイス: Outlook 2007 以降のカスタマイズ

ユーザー インターフェイス: Outlook 2010 以降のカスタマイズ

ユーザー インターフェイス: ソリューション固有のフォルダー

関連項目: 補助 API

次の技術資料には、Outlook 補助 API に関する詳細情報が提供されています。

アカウント管理

アイテムの分類

連絡先の画像

データの劣化

空き時間状態

アイテムの現状

予定表を再設定する

関連項目: 主な参照情報、リソース、およびサンプル コード

次の技術資料には、Outlook の主な参照資料、リソース、コード サンプルに関する詳細情報が提供されています。

主な参照資料とリソース

コード サンプル