(VSTO Outlook selected mail item)
OutlookのメールをCSVに出力したいって話が出たのでやってみました。
その話は突如やってきた要件
「Outlookで受信したメールをCSVに出力してExcelで管理したい」
(゚Д゚;)
(;つД⊂)ゴシゴシ
(゚Д゚)え?
なんか、いろいろ間違った業務設計をされているようですが、面倒なのでスルー
とりあえず、選択したメールをCSVに出力するものを作りました。
実装(ビジュアルデザイナ)
ビジュアルデザイナで簡単にボタンイベントを実装しました。
private void button1_Click(object sender, RibbonControlEventArgs e) { var explorer = base.Context as Microsoft.Office.Interop.Outlook.Explorer; foreach (var item in explorer.Selection) { if (item is MailItem) { var mail = item as MailItem; //mailオブジェクトから必要な項目をCSVファイルに出力する処理 } } }
実装(XML)
XMLでやる場合には、Explorerの取得方法が異なるので注意
private void OnSelectedSave(Office.IRibbonControl control) { var explorer = Globals.ThisAddIn.Application.ActiveExplorer(); foreach (var item in explorer.Selection) { if (item is MailItem) { var mail = item as MailItem; //mailオブジェクトから必要な項目をCSVファイルに出力する処理 } } }
(∩´∀`)∩ワーイ
簡単につくれるけど、なんだろ。
高確率でこれを使うような業務か負けな気がする。
なんだよ、メールをCSVに出力してExcelで管理するって・・・