2017-04-16 73 views
0

我已經編寫了一個Outlook的VBScript,用於轉發在收件箱中未讀的電子郵件超過30分鐘。當我手動運行vbs文件時,它工作得很好,但是當我通過Windows Task Scheduler觸發時,它會卡住。看起來像它沒有擊中Outlook並停止執行CreateObject(...)聲明。通過調度程序運行Outlook的VBScript代碼

您能否讓我知道我該怎麼辦。我想安排它每隔30分鐘通過Outlook運行腳本。

+0

幫助您的代碼:顯示您的代碼。有關代碼無法按計劃任務運行的幫助,還會顯示計劃的任務配置。 [相關](http://stackoverflow.com/a/41635982/1630171)。 –

回答

0

當我手動運行vbs文件它工作得很好,但是當我觸發是通過Windows任務計劃程序它卡住了。

微軟目前並不提倡,不支持,Microsoft Office應用程序自動化從任何無人蔘與的非交互式客戶端應用程序或組件(包括ASP,ASP.NET,DCOM和NT Service),因爲Office Office在此環境中運行時可能會出現不穩定的行爲和/或死鎖。

如果您正在構建一個在服務器端上下文中運行的解決方案,則應該嘗試使用對於無人執行安全的組件。或者,您應該嘗試找到允許至少部分代碼運行客戶端的替代方案。如果您從服務器端解決方案使用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。