我使用 Outlook 2010 x86 客户端和 Exchange 2013 服务器。在许多“共享邮箱“有些邮件带有“私人旗帜“无法在 Outlook 2010 中阅读此邮件。使用 MFCMAPI 编辑器可以清除此邮件吗?”私人旗帜“一封一封,但我有数百封邮件。邮件属性是PR_SENSITIVITY
、PidTagSensitivity
和ptagSensitivity
。
我尝试编写一个 VBA 脚本,将敏感度设置为“私人的“ 到 ”普通的“,但是我在编写 VBA 脚本时遇到了很大的问题。
是否可以使用 VBA 脚本来实现,或者是否存在使用 Exchange Powershell 来实现此目的的现有方法?
答案1
感谢 CharlieRB 的快速评论。这是我的代码:
Sub ClearPrivateFlag()
Dim ol As New Outlook.Application
Dim ns As Outlook.NameSpace
Dim fdMail As Outlook.MAPIFolder
Dim objItem As Object
Dim objAppt As MailItem
Dim i, nCount As Integer
Set ns = ol.GetNamespace("MAPI")
'Reference the default Mail folder
Set fdMail = ns.GetDefaultFolder(olFolderInbox)
i = 1
nCount = fdMail.Items.Count
Do While i < nCount
Set objItem = fdMail.Items(i)
If objItem.Class = olMailItem Then
Set objAppt = objItem
If (objAppt.Sensitivity = olPrivate) Then
objAppt.Sensitivity = olNormal
MsgBox objAppt
End If
End If
i = i + 1
Set objItem = Nothing
Set objAppt = Nothing
Loop
Set fdCalendar = Nothing
Set ns = Nothing
Set ol = Nothing
End Sub