如何将 Outlook 文件夹区分为仅 return 可见文件夹?
How to differentiate Outlook folders to return visible folders only?
我这样提取 Outlook(365、Exchange 服务器)文件夹:
Dim otkApp As Outlook.Application = New Outlook.Application
Dim otkNameSpace As Outlook.NameSpace = otkApp.GetNamespace("MAPI")
Dim folders = otkNameSpace.Folders
除了我在 Outlook 应用程序中看到的文件夹外,这还让我获得了几个额外的文件夹。例如,我得到“同步问题”、“快速步骤设置”和“对话操作设置”。
如何删除这些文件夹?
我没有看到任何 属性 与“收件箱”文件夹中的不同。我用支票 .DefaultMessageClass = "IPM.Note"
.
只删除了其中的一些
编辑(基于 Dmitry 的回答):
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 跳过文件夹。可以使用 MAPIFolder.PropertyAccessor.GetProperty
访问 属性(DASL 名称 "http://schemas.microsoft.com/mapi/proptag/0x10F4000B"
)。您可以在 OutlookSpy 中看到 属性(我是它的作者)- 单击 IMAPIFolder 按钮。
我这样提取 Outlook(365、Exchange 服务器)文件夹:
Dim otkApp As Outlook.Application = New Outlook.Application
Dim otkNameSpace As Outlook.NameSpace = otkApp.GetNamespace("MAPI")
Dim folders = otkNameSpace.Folders
除了我在 Outlook 应用程序中看到的文件夹外,这还让我获得了几个额外的文件夹。例如,我得到“同步问题”、“快速步骤设置”和“对话操作设置”。
如何删除这些文件夹?
我没有看到任何 属性 与“收件箱”文件夹中的不同。我用支票 .DefaultMessageClass = "IPM.Note"
.
只删除了其中的一些
编辑(基于 Dmitry 的回答):
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 跳过文件夹。可以使用 MAPIFolder.PropertyAccessor.GetProperty
访问 属性(DASL 名称 "http://schemas.microsoft.com/mapi/proptag/0x10F4000B"
)。您可以在 OutlookSpy 中看到 属性(我是它的作者)- 单击 IMAPIFolder 按钮。