.net - 如何区分 Outlook 文件夹以仅返回可见文件夹?
问题描述
我像这样拉出 Outlook(365,Exchange 服务器)文件夹:
Dim otkApp As Outlook.Application = New Outlook.Application
Dim otkNameSpace As Outlook.NameSpace = otkApp.GetNamespace("MAPI")
Dim folders = otkNameSpace.Folders
这让我获得了几个额外的文件夹以及我在 Outlook 应用程序中看到的文件夹。例如,我收到“同步问题”、“快速步骤设置”和“对话操作设置”。
如何删除这些文件夹?
我没有看到任何与“收件箱”文件夹中的属性不同的属性。我用 check 只删除了其中的一些.DefaultMessageClass = "IPM.Note"
。
编辑(基于德米特里的回答):
Dim prop As Boolean = False
Try
prop = subfolder.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x10F4000B")
Catch ex As System.Exception
prop = False
End Try
If prop Or Not subfolder.DefaultMessageClass = "IPM.Note" Then
Continue For
End If
这消除了大多数文件夹,但仍然存在“同步问题”。
解决方案
您可以跳过具有PR_ATTR_HIDDEN
MAPI 属性 == true 的文件夹。"http://schemas.microsoft.com/mapi/proptag/0x10F4000B"
可以使用 访问属性(DASL 名称) MAPIFolder.PropertyAccessor.GetProperty
。您可以在OutlookSpy中看到该属性(单击 IMAPIFolder 按钮)。
推荐阅读
- asp.net-mvc - 我无法填充在 asp.net 核心视图中具有多对多关系的标签数据
- jasmine - extjs 上的 Jasmine 单元测试
- java - 使用 HashMap 将整数映射到列表
- php - PhpDocumentor。类类型注解
- android - 如何根据变量的值使底部导航按钮处于非活动状态?
- android - java.lang.IllegalArgumentException:在 Android P 上,类注入只能应用于 BaseDexClassLoader
- javascript - 隐藏复选框的标签 - Yii2
- postgresql - 带有包含返回/换行符的复制语句的 Postgresql 导出结果
- python - 在 pytest 中自动收集匹配几种不同模式的文件名
- java - 无法为应用程序类 com.sun.jersey.api.core.WebAppResourceConfig 添加 Jersey servlet,因为未在其上设置 ApplicationPath 注释