2016-05-23 96 views
0

当我尝试使用配置文件名称通过Interop运行Outlook时,它会打开密码对话框。此脚本从Windows任务计划任务运行。运行这些任务时是否使用管理员帐户?个人资料已经被创建,我的电子邮件帐户是唯一加载在这里的帐户。通过没有对话框的进程登录到Outlook

Always prompt for login credentials未勾选用于配置文件中列出的帐户。

这是域中的网络计算机。 Outlook 2010中

档开关(link):

Process.Start("Outlook", "/profile profilename") 
'logs in with a prompt for the password 

我怎样才能在代码中传递密码,避免对话?

或者,我有一个宏来做我所需要的,但是我没有能够在配置文件加载时运行它。这也可以解决问题。在信任中心中选中启用的宏。

感谢

回答

0

首先,你需要运行在同一安全环境下都应用程序能够自动一个从另一个。

这个应用程序正在从Windows任务计划推出

微软目前并不提倡,不支持,Microsoft Office应用程序自动化从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务),因为Office在此环境中运行时可能会出现不稳定的行为和/或死锁。

如果您正在构建一个在服务器端上下文中运行的解决方案,则应该尝试使用对于无人执行安全的组件。或者,您应该尝试找到允许至少部分代码运行客户端的替代方案。如果您从服务器端解决方案使用Office应用程序,则该应用程序将缺少成功运行所需的许多必要功能。此外,您将面临整体解决方案稳定性的风险。请阅读Considerations for server-side Automation of Office文章中的更多内容。

作为解决方法,您可以考虑使用基于Outlook的低级API - 扩展MAPI。或者围绕该API的任何第三方包装,例如Redemption。