代码优化-遍历Outlook子文件夹以将电子邮件导入Excel

时间:2018-10-03 15:14:49

标签: excel vba optimization outlook

我有一个宏,它循环遍历2个Outlook子文件夹,并将一些电子邮件信息(发件人,主题,日期)导入Excel工作表中。子文件夹中的电子邮件不多(如果您搜索一个月的时间,总共可能有100-200封电子邮件)。但是,宏似乎花费了过多的时间(〜3分钟)来运行。

关于提高宏运行速度的任何建议?

仅供参考-vba的新手

        foreach(dynamic item in metadataObjects)
        {
            Console.WriteLine(item.MyCollection.Count);
        }

结束子

1 个答案:

答案 0 :(得分:2)

首先,切勿循环浏览文件夹中的所有项目。将Items.Find/FindNextItems.Restrict[ReceivedTime] > '2018-09-01'之类的查询一起使用。

第二(如果您确实使用了循环),请不要持续求值循环内永不改变的表达式。在您的情况下,它们是Range("From_date").ValueRange("eMail_subject")Range("eMail_date")Range("eMail_sender")。在开始循环之前评估这些表达式,将返回的值存储在变量中,然后在循环内使用它们。