CodeZine(コードジン)

特集ページ一覧

C#.NETによるMicrosoft Outlookの統合

パート1:OutlookをWinFormsアプリケーションから操作する

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/12/07 14:00

ダウンロード サンプルソース (13.0 KB)

.NETアプリケーションからOutlookを操作・連携できるととても便利です。特にこういったアプリケーションはエンタープライズ用途でのニーズが高いでしょう。今回は.NETアプリケーションからOutlookの連絡先を編集し、メールを送信するプログラムを紹介します。

目次

はじめに

 ビジネスアプリケーションからMicrosoft Officeを操作し、Microsoft Officeに組み込まれている大量のクラスや関数を利用できるようにすると、非常に大きなメリットがあります。Office製品に同梱されている相互運用アセンブリを用いればお馴染みの操作を実行することができ、ユーザーにとっても受け入れやすいアプリケーションになります。本稿は2部構成のシリーズのパート1です。今回は主に、.NETアプリケーションのコンテキストでOutlookを操作する方法について解説します。簡単なサンプルを作成してOutlookの相互運用クラス(特に連絡先項目の操作に関係するクラス)の使い方を習得します。また、.NETアプリケーションからOutlookを操作するときに注意すべきセキュリティ上の問題についても簡単に触れます。パート2ではOutlookをアドインによって拡張する方法、具体的にはOutlookのツールバーにカスタムボタンを追加する方法について解説します。

Redemption

 Redemption DLLは、Office 2002以降に組み込まれた「Outlook Security Patch」によるセキュリティ警告(機密データと思われる情報へのアクセス時に表示される警告)を回避する手段の1つです。詳しくは後述しますが、たとえばアプリケーションからOutlookを呼び出して連絡先のメールプロパティにアクセスしようとした場合、Redemptionを使用していないと、Outlookはユーザーに対して次のメッセージを表示します。

 このような警告でユーザーを煩わすことを何とも思わない人や、このようなダイアログが表示されても適切な対応ができるようにユーザーを訓練すればいいと考えている人は、以降のRedemptionに関する説明を読む必要はありません。しかし、そこまでユーザーに厳しくない開発者ならば、「機密」情報に警告なしでアクセスするメソッドをRedemptionライブラリが公開しているという事実に興味をそそられるはずです。Redemptionは開発用として無料で提供されていますが、アプリケーションに組み込んで配布するときはワンタイムライセンス料が発生します。このライブラリの詳細とDLLのダウンロードについては、こちらを参照してください。

 本稿のサンプルソースは、Redemptionをダウンロードしない場合に備えてRedemptionを使用しないバージョンになっています(Redemptionを使用する場合のコードはコメントアウトされています)。また、ユーザーがセキュリティアクセス要求を拒否した場合の対応を行うエラーキャッチ機構を設けていないことにも注意してください。現実のアプリケーションではエラーキャッチ機構を設けるべきでしょう。Redemptionを使えば、これは問題になりません。

 Redemptionを使用するには、このDLLをコンピュータに登録する必要があります。具体的には、DLLの置かれたフォルダに移動した後、コマンドプロンプトから次のコマンドを実行します。

RegSvr32 Redemption.dll

 さらに、ソリューション側にこのDLLへの参照を追加する必要があります。その後、Redemptionを使うコードをコメント解除すれば、警告が表示されなくなります。

準備

 Outlookを操作するアプリケーションを作成するときには、OutlookのCOMライブラリへの参照を必ず追加しなければなりません。本稿のサンプルでは、Visual Studio 2005(.NET Framework 2.0)、C#.NET、およびMicrosoft Office Outlook 2003を使用します。まず、適切なOutlook COMライブラリへの参照をプロジェクトに追加します。Officeの相互運用ライブラリはVisual Studioの参照追加ダイアログの[COM]タブに表示されます。私の場合、Outlook 2003を使用している関係から、このライブラリは「Microsoft Outlook 11.0 Object Library」という名前になっています。これらの相互運用ライブラリはOfficeとともに提供されます。したがって、Outlook 2003をインストールしていれば、このライブラリが見つかるはずです。Outlook 2003ではなくOutlook 2007をインストールしている場合は、「Microsoft Outlook 12.0 Object Library」というライブラリが見つかるはずです。

 さらに、Outlookの機能を利用する各クラスに次のusingディレクティブを含めます。

using Outlook = Microsoft.Office.Interop.Outlook;

 サンプルプロジェクトの参照設定は、ご利用のコンピュータの構成状況に応じて適宜調整してください。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

  • Rachel Wireman(Rachel Wireman)

    MCPD、MCTS。Windowsソリューション専門の開発者。イリノイ州オークブルックのCrowe Chizekに所属。連絡先はrwireman@crowechizek.com。

  • japan.internet.com(ジャパンインターネットコム)

    japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.c...

バックナンバー

連載:japan.internet.com翻訳記事

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5