使用 C# 中的 Microsoft.Office.Interop.Outlook 访问非默认配置文件

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

我正在尝试从非默认配置文件中提取 Outlook 存储信息。解决方案here基本上满足了我的要求,只不过它仅从默认配置文件中提取。根据 MS 文档,我应该能够使用 NameSpace.Logon 方法指定配置文件。但无论我使用 NameSpace.Logon 指定什么,我都只能从默认配置文件中获取存储。

例如,此代码仅输出默认配置文件(“Outlook”),而不是“存档”配置文件:

using Microsoft.Office.Interop.Outlook;
...
Application objApp = null;
NameSpace ns = null;
objApp = new Application();
ns = objApp.GetNamespace("MAPI");
ns.Logon("archive");
Console.WriteLine(ns.Session.CurrentProfileName);

我还尝试将 Logon 方法与 Application.Session 对象一起使用,而不是与 Application.Namespace 对象一起使用,但我得到了相同的结果。

c# windows outlook office-interop office-automation
1个回答
0
投票

确保正在运行的进程列表中不存在

outlook.exe
进程。 Outlook 是一个单例,如果任何实例尚未关闭并且仍在系统上运行,您将无法登录到另一个配置文件并继续处理当前会话/配置文件。

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