SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

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

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

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

ダウンロード サンプルソース (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;

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

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
簡単なアプリケーション(Outlookの連絡先管理)の作成

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

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

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Rachel Wireman(Rachel Wireman)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1890 2007/12/07 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング