Как я могу удалить частный флаг из сотен сообщений в общих почтовых ящиках?

Я работаю с клиентом 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
Другие вопросы по тегам