首页 文章

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

提问于
浏览
0

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

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

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

另一种方法是创建一个临时文件夹,并检查其名称是否与我提供的名称不同。如果它们不同,则后缀即为差异。但是,creating/deleting 只是一个文件夹看起来也不美观。

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

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

1 回答

  • 0

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

    始终使用Namespace.GetDefaultFolderStore.GetDefaultFolder

相关问题