首页 > 解决方案 > 升级到 Office 2013 后如何在任务计划程序中使用 Excel VBA 发送 Outlook 项目?

问题描述

我在网络环境中使用 MS Office 2013 和 Windows 7。

我有一个自动打开的 Excel VBA 程序,它通过 Outlook 发送文件并通过任务计划程序进行计划。

这在我使用 MS Office 2010 时运行,但我的计算机被擦除并重新安装了 MS 2013。

一些关键点:

  1. 当我直接运行 Excel 文件并通过 Outlook 发送电子邮件时,它们都可以正常工作。

  2. 当我使用“仅在用户登录时运行”设置并通过 Outlook 发送电子邮件时,任务计划程序工作。

  3. 当任务计划程序以“无论用户是否登录时运行”方式运行时,它与 Excel VBA 的其他部分一起使用,但未成功发送 Outlook 文件。我知道这一点是因为我包含了一行来将文件保存在特定目录中,并且确实将其保存在那里。我还在任务管理器进程中看到了 Excel。所以它运行,但不发送 Outlook 电子邮件。

我已经尝试过的事情:

  1. 更改了 Microsoft Excel 和 Outlook 邮件附件的 DCOM 设置
  2. 创建了“C:\Windows\System32\config\systemprofile\Desktop”和“C:\Windows\SysWOW64\config\systemprofile\Desktop”目录

标签: excelvbaoutlookwindows-task-scheduler

解决方案


不支持在任务计划程序或 Windows 服务的上下文中使用 Outlook 对象模型,因此这可以解释一些意外行为。请参阅: https: //support.microsoft.com/en-ca/help/237913/the-outlook-object-model-is-unsuitable-to-run-in-a-windows-service


推荐阅读