通过调度程序运行 Outlook 的 VBScript 代码

问题描述 投票:0回答:1

我为 Outlook 编写了一个 VBScript,可以转发收件箱中超过 30 分钟未读的电子邮件。当我手动运行 vbs 文件时,它工作得很好,但是当我通过 Windows 任务计划程序触发时,它会卡住。似乎它没有命中 Outlook,并在

CreateObject(...)
语句处停止执行。

您能让我知道我该怎么办吗?我想安排它每 30 分钟通过 Outlook 运行一次脚本。

outlook vbscript windows-task-scheduler
1个回答
0
投票

当我手动运行 vbs 文件时,它工作得很好,但是当我通过 Windows 任务计划程序触发时,它会卡住。

Microsoft 目前不建议也不支持从任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)实现 Microsoft Office 应用程序的自动化,因为 Office 可能会表现出不稳定的行为,并且/或在这种环境下运行 Office 时出现死锁。

如果您正在构建在服务器端上下文中运行的解决方案,则应尝试使用可安全执行无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。如果您使用服务器端解决方案中的 Office 应用程序,该应用程序将缺乏许多成功运行所需的功能。此外,您还将面临整体解决方案稳定性的风险。请阅读Office 服务器端自动化的注意事项 文章了解更多相关信息。

作为一种解决方法,如果您仅处理 Exchange 配置文件,则可以考虑使用 EWS,请参阅 EWS 托管 API、EWS 和 Exchange 中的 Web 服务。或者适用于 Office 365 用户的 Outlook REST API,请参阅邮件、日历和联系人 REST API 入门

您还可以考虑使用 Outlook 所基于的低级 API - 扩展 MAPI。或者只是该 API 的任何其他第三方包装器,例如 Redemption。

© www.soinside.com 2019 - 2024. All rights reserved.