C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VSTOのOutlookアドインでToの名前とアドレスを取得

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■100578 / inTopicNo.1)  VSTOのOutlookアドインでToの名前とアドレスを取得
  
□投稿者/ こんぎょ (1回)-(2022/09/21(Wed) 19:01:36)

分類:[.NET 全般] 

お世話になります。

使用言語:C#

メッセージボックスにtoで指定した名前とアドレスを表示したいのですが、複数人のときに人数分だけメッセージボックスが出てしまうので、一人ずつ改行して1つのメッセージボックスに出したいです。
Outlook.MailItem mail = Item as Outlook.MailItem;
foreach (Outlook.Recipient recip in mail.Recipients)
{
MessageBox.Show(recip.Name + recip.Address);
}
CCもBCCも全部1つのメッセージにするにはどうしたらいいでしょうか。

どうぞよろしくお願い致します。
引用返信 編集キー/
■100579 / inTopicNo.2)  Re[1]: VSTOのOutlookアドインでToの名前とアドレスを取得
□投稿者/ 魔界の仮面弁士 (3456回)-(2022/09/21(Wed) 19:40:59)
No100578 (こんぎょ さん) に返信
> 一人ずつ改行して1つのメッセージボックスに出したいです。
string[] recipients = mail.Recipients.OfType<Outlook.Recipient>().Select(r => r.Name + r.Address).ToArray();
string msg = string.Join("\r\n", recipients);
MessageBox.Show(this, msg, "受信者", MessageBoxButtons.OK, MessageBoxIcon.Information);

のように書けるんじゃないでしょうか。
Outlook とか VSTO とか、殆ど触ったことが無くて、完全に未検証ですが。


> CCもBCCも全部1つのメッセージにするにはどうしたらいいでしょうか。
Recipients って全部含まれるんじゃないですかね? (未確認)
To とか Cc とか Bcc とかを区別したいなら、多分 Type プロパティ。
https://learn.microsoft.com/ja-jp/office/vba/api/outlook.recipient.type
引用返信 編集キー/
■100580 / inTopicNo.3)  Re[2]: VSTOのOutlookアドインでToの名前とアドレスを取得
□投稿者/ こんぎょ (2回)-(2022/09/21(Wed) 22:24:05)
No100579 (魔界の仮面弁士 さん) に返信
> string[] recipients = mail.Recipients.OfType<Outlook.Recipient>().Select(r => r.Name + r.Address).ToArray();
> string msg = string.Join("\r\n", recipients);
> MessageBox.Show(this, msg, "受信者", MessageBoxButtons.OK, MessageBoxIcon.Information);
>
> のように書けるんじゃないでしょうか。
> Outlook とか VSTO とか、殆ど触ったことが無くて、完全に未検証ですが。

魔界の仮面弁士様、返信ありがとうございます。
早速実行してみたところ、思い通りになりました。
解決したので、閉めさせていただきます。

ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ