我已经为Outlook编写了一个VBScript,它将收件箱中未读的电子邮件转发超过30分钟。当我手动运行vbs文件时,它工作得非常好,但是当我通过Windows任务计划程序触发时它会卡住。好像它没有点击Outlook并停止在CreateObject(...)
语句执行。
答案 0 :(得分:0)
当我手动运行vbs文件时,它工作得非常好,但是当我通过Windows任务计划程序触发时它会卡住。
Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定Office在此环境中运行时的行为和/或死锁。
如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。请在Considerations for server-side Automation of Office文章中详细了解相关内容。
作为一种解决方法,如果您只处理Exchange个人资料,可以考虑使用EWS,请参阅EWS Managed API, EWS, and web services in Exchange。或者可供Office 365用户使用的Outlook REST API,请参阅Get Started with Mail, Calendar, and Contacts REST APIs。
此外,您可以考虑使用Outlook所基于的低级API - 扩展MAPI。或者只是围绕该API的任何其他第三方包装器,例如Redemption。