如何使用VBA将Outlook任务导出到Excel

只需考虑一下,使收到的电子邮件自动生成新任务或新的日历约会,或者完成任务自动向您的老板发送任务描述中更新的状态报告,就会带来强大的力量。

如果做对了,您就可以通过智能,高效的方式自动完成事情,从而减轻整天的工作量。

如果您按照我在这里的写作,那么您知道过去我我已经介绍了将Web浏览器功能集成到Excel中的方法。

在本文中,我将介绍另一项自动化任务-实际上是我最近经常使用的一项任务-自动更新Excel电子表格并在一天结束时保留所有剩余的活动Outlook任务。

将Outlook任务提交到Excel电子表格

您可能有很多原因想要这样做。也许您希望每天以一种可以快速邮寄给某人的格式跟踪未完成的任务(使用Outlook任务并非易事)。也许它将成为您在Word中键入的较大报告的一部分。

无论如何,捕获和输出未完成的Outlook任务信息的功能都是有用的。

在此示例中,这是我的示例Outlook任务列表,其中还有5个尚待完成的任务。

我们在这里要做的所有事情都在VBA中。在Outlook中,通过单击“ 工具",然后单击“ ",然后选择“ Visual Basic编辑器",进入VBA编辑器。 。

您将用来捕获任务列表并将其导出到Excel的代码实际上并不像您想象的那么复杂。第一步是通过创建必要的变量定义来插入Outlook对象和Excel对象。然后,使用您创建的工作簿对象,首先在电子表格中创建标题。

因此,新电子表格的外观如下。您的Outlook应用程序刚刚在C:\ temp目录中创建了一个名为“ MyActiveTasks.xls"的新Excel文件,并为您要插入的任务创建了标头。

因此,现在是时候提取您的任务并将其插入Excel文件。我使用从2开始的“ y"变量,以确保使用的第一行不是第一行,因为我不想覆盖标题。

此脚本的作用是搜索在Outlook中的任务项的整个列表中,检查该项是否已完成,如果尚未完成,则将该任务信息插入电子表格的4个单元格中。如果需要,可以插入更多信息。只需键入“ tsk"来探索可用的任务信息,然后浏览弹出的属性列表。

现在这是工作表的样子。

有点完美主义者,仍然有问题。请注意,A列如何剪辑上一个任务主题?"我不喜欢那样。因此,让我们添加更多代码以自动拟合Excel表中的所有列。

最后几行中的 Save Close 方法将保存将该表并关闭,以使其不会被应用程序锁定,否则在关闭Outlook之前将很难打开Excel文件。

因此,现在这是完成的电子表格的外观。

何时设置脚本运行?好吧,我将其设置为在“ Application.Close()" 事件上运行,该事件在一天结束时退出Outlook时运行。这样一来,Outlook便可以在一天结束时自行生成Excel电子表格报告。

您能想到该技术还有其他很酷的用法吗?也许会自动发出带有任务列表的电子邮件,或者将其输出为HTML文件并将其通过FTP发送到您的Web服务器?

只需一点点创意,您就可以完成一些任务脚本自动化。在下面的评论部分中分享您自己的想法和想法!

Shutterstock

标签: Microsoft Excel Microsoft Outlook 电子表格 任务管理 Visual Basic编程