我有一个宏,它循环遍历2个Outlook子文件夹,并将一些电子邮件信息(发件人,主题,日期)导入Excel工作表中。子文件夹中的电子邮件不多(如果您搜索一个月的时间,总共可能有100-200封电子邮件)。但是,宏似乎花费了过多的时间(〜3分钟)来运行。
关于提高宏运行速度的任何建议?
仅供参考-vba的新手
foreach(dynamic item in metadataObjects)
{
Console.WriteLine(item.MyCollection.Count);
}
结束子
答案 0 :(得分:2)
首先,切勿循环浏览文件夹中的所有项目。将Items.Find/FindNext
或Items.Restrict
与[ReceivedTime] > '2018-09-01'
之类的查询一起使用。
第二(如果您确实使用了循环),请不要持续求值循环内永不改变的表达式。在您的情况下,它们是Range("From_date").Value
,Range("eMail_subject")
,Range("eMail_date")
,Range("eMail_sender")
。在开始循环之前评估这些表达式,将返回的值存储在变量中,然后在循环内使用它们。