【VATO】Outlookメッセージ編集画面でMailItemオブジェクトの操作(XML編)

リボン(XML)を登録したメッセージ編集画面のMailItemの取得方法です。

1.リボンの登録

#region IRibbonExtensibility のメンバー
public string GetCustomUI(string ribbonID)
{
  if (ribbonID == "Microsoft.Outlook.Mail.Compose")
  {
    return GetResourceText("OutlookAddIn6.Ribbon1.xml");
  }
  return "";
}
#endregion

メッセージ編集画面にリボンを登録を行うので、ribbonIDが"Microsoft.Outlook.Mail.Compose"の場合にリボン(XML)を返します。
ribbonIDは、ビジュアルデザイナの方でいつも指定するRibbonTypeと同じ定義です。

2.MailItemオブジェクトの取得

リボンのロードイベントでMailItemを取得します。

Outlook.MailItem mailItem = null;
public void Ribbon_Load(Office.IRibbonUI ribbonUI)
{
  this.ribbon = ribbonUI;

  Outlook.Application application = Globals.ThisAddIn.Application;
  Outlook.Inspector inspector = application.ActiveInspector();
  mailItem = (Outlook.MailItem)inspector.CurrentItem;
}

MailItemの操作

MailItem取得後は、ビジュアルデザイナと同じです。
過去参照orzmakoto.hatenablog.com


XMLは、デザイン面では面倒ですが、イベント処理とかは楽なんですよね。
VMとか使えたらもっと楽なのに。