Я работаю с клиентом Outlook 2010 x86 и сервером Exchange 2013. Во многих « общих почтовых ящиках » есть несколько писем с « частным флагом », и невозможно прочитать эти письма в Outlook 2010. С помощью MFCMAPI-Editor можно убрать этот « частный флаг » один за другим, но у меня сотни писем. Почтовое свойство: PR_SENSITIVITY , PidTagSensitivity и ptagSensitivity .

Я пытался написать сценарий VBA, в котором чувствительность была изменена с « Частный » на « Нормальный », но у меня большие проблемы с написанием сценариев VBA.

Возможно ли это с помощью сценария VBA или существует способ сделать это с помощью Exchange Powershell?

1 ответ1

-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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .