我正在编写一个应用程序,根据每个Microsoft Outlook帐户的预先获取的数据设置签名(用户可能有多个Outlook帐户用于各种目的)。
我可以为默认帐户设置签名,但我还没有找到如何为每个Outlook帐户单独设置签名。我做了很多自己的研究,并且在没有太多运气的情况下围绕着Microsoft.Office.Interop对象。
有没有办法实现这个目标?
答案 0 :(得分:2)
要以编程方式选择Outlook配置文件,只需使用
即可Microsoft.Office.Interop.Outlook.Application App =
new Microsoft.Office.Interop.Outlook.Application();
NameSpace mapi = App.GetNamespace("MAPI");
mapi.Logon(profileName);
显然将profileName
设置为启动Outlook时下拉列表中显示的内容(如果未在控制面板电子邮件设置中设置默认配置文件)。
但是,由于Outlook不支持多个会话,因此即使MAPI登录执行以下操作,也会出现多种问题: http://msdn.microsoft.com/en-us/library/bb219914(v=office.12).aspx
含义:如果Outlook已经运行,您甚至可以将NewSession
设置为true
,但它不会有帮助。无论您设置了什么名称,它都会为您提供当前登录的配置文件。如果你有一个Outlook僵尸(我在测试时得到了它,请检查任务管理器),即没有显示UI的Outlook,问题是一样的。
如果您可以确保Outlook在使用签名进行操作时不会运行,那么您应该没问题。