【发布时间】:2022-08-09 02:48:54
【问题描述】:
我有一个 VSTO Outlook 加载项。在撰写窗口中,我有一个按钮。单击此按钮时,将删除满足条件的收件人。需要删除的收件人存储在一个列表中,即 List<Outlook.Recipient>。我迭代这个列表并删除每个收件人。
foreach (Outlook.Recipient recipient in this.RecipientsList)
{
this.MyMailItem?.Recipients?.Remove(recipient.Index);
}
// clear all the recipients
this.RecipientsList.Clear();
我已经注意到,需要删除的收件人越多,速度就越慢,而且并非总是删除列表中包含的所有收件人,有时甚至有时不会。这里有两件事:
- 如何优化删除收件人的速度?
- 为什么有时列表中包含的所有收件人都没有被删除?它是随机的,有时是,有时不是。
请注意,this.MyMailItem 的类型为 Outlook.MailItem,而 this.MyMailItem.Recipients 的类型为 Outlook.Recipients。
删除函数需要一个整数作为参数,这就是它的定义,见这里。
标签: outlook vsto outlook-addin office-interop office-addins