Outlook受信アドイン製作への道 | 組込みとともに

Outlook受信アドイン製作への道

EZ-USBとFrostyでメール着信おしらせ


上記サイトを見てこれ面白いなーって感心しました。

自分の場合はOutlook環境なんで、なんとかOutlookでも同じことが出来ないかなと^^


Windowsアプリケーションは専門ではありませんが、C#ならなんとか使えるんでC#+Outlookでチャレンジしてみたいと思います。


調べてみたところこちら がヒントになりました。


プロジェクトの作成は次のようにします。

※私の環境はC#.NET2005+Outlook2003+WindowsXPHomeSP3+Nortonです。


1.プロジェクトはConsoleApplicationにて作成

2.参照の追加 COM(Microsoft Outlook ・・・)

3.参照の追加 .NET(System.Window.Forms)


ただし、私のC#.NET2005環境ではそのままではビルドできなかったので.NET2005版のソースを書きに記します。(ご参考まで。たいした変更は無いです)



/*ここから*/

using System;
using System.Windows.Forms; /* 追加 */
using Microsoft.Office.Interop.Outlook; /* 追加 */

// To use this namespace you must set a
// reference to the Microsoft Outlook 11.0
// COM server.

using OutLookApp = Microsoft.Office.Interop.Outlook.Application;

namespace OPine
{
class OPineApp
{
[STAThread]
static void Main(string[] args)
{
// Create an Outlook application object.
ApplicationClass outLookApp = new ApplicationClass();

// Ring up the new message event.
outLookApp.NewMailEx += new ApplicationEvents_11_NewMailExEventHandler(outLookApp_NewMailEx);
Console.WriteLine("Please wait for new messages...");
Console.ReadLine();
}
#region NewMail event handler.
private static void outLookApp_NewMailEx(string EntryIDCollection)
{
MessageBox.Show("You've got a new mail whose EntryIDCollection is \n" + EntryIDCollection,
"NOTE", MessageBoxButtons.OK);
}
#endregion
}


}

/* ここまで */


画面1 新着メール待ち受け昼画面(Outlookが起動していない状態も同様)↓
組込みとともに


画面2 新着メール受信時↓
組込みとともに


ソースコードを見て分かる通り"Please wait for new messages..."出力後入力待ちになっています。

キーを何か押すとプログラムを終了します。

プログラムが稼動している間はNewMailExイベントを受け付けます。

ですので、新着メール受信するたびに

MessageBox.Show("You've got a new mail whose EntryIDCollection is \n" + EntryIDCollection,"NOTE", MessageBoxButtons.OK);

が実行されます。


後は、このアプリケーションをサービス化することと、NewMailExイベント時に外部制御ができれば良いですね。


案外簡単に実現できそうです。


つづく...