如何在VSTO加载项的Outlook文件夹名称中检测“仅此计算机”标志?

时间:2018-08-30 13:08:15

标签: vsto outlook-addin outlook-2013 outlook-2016

从Outlook 2013和更高版本开始,Outlook有时(如果是.OST文件)可能在文件夹名称后添加“(仅此计算机)”后缀。在其他情况下(.PST文件),则不会发生。因此,对于特定的Outlook版本,文件夹名称可以是“某些文件夹”或“某些文件夹(仅此计算机)”或“某些文件夹(谁知道其他)”。

有没有一种方法可以在没有此后缀的情况下获取文件夹名称(因此无论该文件夹名中是否存在该后缀,我总是说“ Some folder”)。看到Outlook.Folder对象中的任何属性,该属性都会为我返回该简称。

我可以想到一种解决方法,例如获取默认的Contacts文件夹名称,检查其是否以“(something)”结尾,然后从文件夹名称中删除“(something)”,但这对我来说似乎不是一个很好的解决方案。 / p>

另一种方法可能是创建一个临时文件夹,并检查其名称是否与我提供的名称不同。如果它们不同,则后缀即为差异。但是,仅为此创建/删除文件夹也不太好。

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

是真的,没有办法以编程方式获取没有该后缀的文件夹名称,我应该仅依靠(丑陋的)解决方法吗?

1 个答案:

答案 0 :(得分:0)

不要依赖文件夹名称。除了具有IMAP4存储的“(仅此计算机)”后缀之外,还可以对名称进行本地化。

始终使用Namespace.GetDefaultFolderStore.GetDefaultFolder