如何在VSTO加载项中检测Outlook文件夹名称中的"This computer only"标志?



从 Outlook 2013 及更高版本开始,Outlook 有时可能会(在 .OST 文件(将"(仅限此计算机("后缀附加到文件夹名称。在其他情况下 (.PST 文件(,这不会发生。因此,根据特定情况,对于本地化版本的 Outlook,文件夹名称可以是"某个文件夹"或"某个文件夹(仅限此计算机("或"某个文件夹(谁知道还有什么("。

有没有办法获取没有这个后缀的文件夹名称(这样我总是会得到,比方说,"某个文件夹",无论这个后缀是否存在于文件夹名称中?目前,我在Outlook.Folder对象中看不到任何属性,该属性将返回该短名称。

我可以想到一种解决方法,例如获取默认的联系人文件夹名称,检查它是否以"(某物("结尾,然后从文件夹名称中删除"(某物(",但这对我来说似乎不是一个优雅的解决方案。

另一种方法是创建一个临时文件夹并检查其名称是否与我提供的名称不同。如果它们不同,则差异就是后缀。但是,为此创建/删除文件夹看起来也不优雅。

在MFCMapi工具中,我也找不到名为"联系人(仅限此计算机("的文件夹的MAPI属性中的任何位置的"联系人",因此它似乎不仅仅是Outlook OOM的限制。

确实无法以编程方式获取没有该后缀的文件夹名称,我应该只依靠我的(丑陋的(解决方法?

不要依赖文件夹名称。除了具有 IMAP4 存储的"(仅限此计算机("后缀外,还可以本地化名称。

始终使用Namespace.GetDefaultFolderStore.GetDefaultFolder.

相关内容

最新更新