Как я могу удалить частный флаг из сотен сообщений в общих почтовых ящиках?
Я работаю с клиентом Outlook 2010 x86 и сервером Exchange 2013. Во многих "общих почтовых ящиках" есть несколько писем с "частным флагом", и невозможно прочитать эти письма в Outlook 2010. С помощью MFCMAPI-Editor можно убрать этот "частный флаг" по одному, но у меня есть сотни писем. Почтовое свойство 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