OutlookでHello World!

プロジェクトの作成

[ファイル]⇒[新規作成]⇒[プロジェクト]からOutlookアドインを選択し、プロジェクトを作成します。

Outlookフォーム領域の追加

ソリューションエクスプローラの右クリックメニューから、[追加]⇒[新しい項目]を開きます。


以下のようなダイアログが開くので、[Outlookフォーム領域]を選択します。


ウィザード形式の設定が始まります。ここでは、新しいフォーム領域のデザインを選択します。


フォーム領域の種類は、「隣接」にします。


そのまま次へ進みます。


完了を押します。


これで、Outlook上にフォーム領域が作成できました。

コントロールの追加

フォーム領域の作成後に、デザイン画面が開くので、ボタンを1つ配置します。

イベントハンドラの実装

ボタンをダブルクリックして、イベントハンドラを生成します。


生成されたイベントハンドラ(button1_Click)の中身を実装します。ここでは、

MessageBox.Show("Hello world!”);

という1行を加えます。
さらに、usingの定義をしている部分に、以下のコードを足します。

using System.Windows.Forms;

[デバッグ]⇒[デバッグの開始]を実行すると、以下のようにOutlookが起動します。


メール内容の下に、以下のような領域が表示されます。


ボタンをクリックすると、以下のダイアログが表示されます。

メールを送信する

次に、メールを送信するコードを追加します。
まずは、実際にメールを送信する部分となるThisAddin.csを開き、コードを追加します。


追加したコードは以下の通りです。

public void SendEmailtoContacts()
{
    string subjectEmail = "Hello world!";
    string bodyEmail = "Hello world!";
    Outlook.MAPIFolder sentContacts = (Outlook.MAPIFolder)
        this.Application.ActiveExplorer().Session.GetDefaultFolder
        (Outlook.OlDefaultFolders.olFolderContacts);
    foreach (Outlook.ContactItem contact in sentContacts.Items)
    {
        if (contact.Email1Address.Contains("example.com"))
        {
            this.CreateEmailItem(subjectEmail, contact
                .Email1Address, bodyEmail);
        }
    }
}

private void CreateEmailItem(string subjectEmail,
       string toEmail, string bodyEmail)
{
    Outlook.MailItem eMail = (Outlook.MailItem)
        this.Application.CreateItem(Outlook.OlItemType.olMailItem);
    eMail.Subject = subjectEmail;
    eMail.To = toEmail;
    eMail.Body = bodyEmail;
    eMail.Importance = Outlook.OlImportance.olImportanceLow;
    ((Outlook._MailItem)eMail).Send();
}

FormRegion1.csを開き、ボタンのイベントハンドラにメール送信を行う処理を追加します。


追加したコードは以下となります。

Globals.ThisAddIn.SendEmailtoContacts();

実行の前に、Outlookのアドレス帳に、someone@example.com を登録しておきます。
[デバッグ]⇒[デバッグの開始]を実行し、ボタンを押すと、ダイアログが表示されます。OKを押してダイアログを消すと、その後に、someone@example.com 宛にメールが送信されます。正常に送信されたかどうかは、送信済みアイテムフォルダで確認できます。

アドインの削除

ここまでで追加したアドインは、インストールされたまま残ってしまうため、ここで削除しておきます。
[ツール]⇒[セキュリティセンター]を開きます。


セキュリティセンターが開いたら、アドインを選択します。


アドイン画面の下の方に、以下のような内容がありますので、[設定]ボタンを押します。


すると、現在インストールされているアドインの一覧が出てきますので、この中から、不要な物(ここではOutlookAddIn1)を削除します。なお、先頭にあるチェックボックスは、削除処理には無関係ですので、注意してください。削除処理は、選択されている(=青くなっている)ものが対象となります。