背景信息:我正在用C#编写Outlook的外接程序。当用户在Outlook中发送电子邮件时,我想获取在“收件人”,“抄送”和“密件抄送”文本框中列出的电子邮件地址。作为测试,我尝试在新窗口中打印第一个收件人的电子邮件地址。
private void Application_ItemSend(object Item, ref bool Cancel)
{
if (Item is Outlook.MailItem)
{
Outlook.MailItem mailItem = Item as Outlook.MailItem;
Outlook.Recipients myRecipients = mailItem.Recipients;
MessageBox.Show(myRecipients(0));
}
}
Microsoft docs收件人接口状态“使用Recipients(index)(其中index是名称或索引号)返回单个收件人对象。但是,myRecipients(0)调用给我一个错误,指出了预期的方法名称。 / p>
我相信我已经正确地初始化了收件人集合,因为我能够调用myRecipients.Count,它返回电子邮件草稿中列出的正确收件人数目。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
通常可以通过将索引器放在方括号(而不是问题代码中的圆括号)中来访问收集项...对于Outlook.Recipients
,我认为收集不实现此模式,因此您需要使用myRecipients.Item(0)
这样的Item
方法,其中0
是您的索引。