Удалить электронные письма из общего почтового ящика, если он заполнен на 90% - PullRequest
0 голосов
/ 27 сентября 2019

Есть несколько общих почтовых ящиков, которые мы используем, и мы хотели бы настроить один макрос, чтобы проверить, заполнен ли один из почтовых ящиков на 90%, тогда он должен удалить 1000 самых старых писем.

Я нашелСценарий, который я успешно изменил, но он проверяет возраст писем, не если почтовый ящик заполнен.

aged = 2

On Error Resume Next
Set outlookAPP = Outlook.Application
Set outlookNS = outlookAPP.GetNamespace("MAPI")
Set maliboxOwner_1 = outlookNS.CreateRecipient("shared@mailbox.address.com")
Set Shared_email_address = outlookNS.GetSharedDefaultFolder(maliboxOwner_1, olFolderInbox)

On Error Resume Next
For number_of_emails_1 = Shared_email_address.Items.Count To 1 Step -1
    Set objectVariant = Shared_email_address.Items.Item(number_of_emails_1)
    DoEvents
    If objectVariant.Class = olMail Then

         if_date_differenece_is = DateDiff("d", objectVariant.SentOn, Now)

        ' Set number of days
        If if_date_differenece_is > aged Then
          objectVariant.Delete
          'Call ClearDeletedFolder ' Working. Will change to call every 100 emails deleted after first run.

          'count the # of items moved
           lngMovedItems = lngMovedItems + 1

        ' No need to run the IF statement on the rest of the mailbox assuming the macro runs from oldest to newest.
        'Else: GoTo Marker

        End If
    End If
Next
On Error Resume Next

как этот код должен быть изменен или как мне начать, если я хотел бы, чтобы это проверить почтовый ящикразмер и действовать соответственно?

...