Como remover anexos em lote de itens de calendário desatualizados no Outlook

Compartilhe agora:

Se você deseja remover anexos de compromissos e reuniões desatualizados em seu Outlook, leia este artigo. Aqui vamos apresentá-lo como realizá-lo de uma só vez.

Para reduzir o tamanho do arquivo do Outlook, é altamente recomendável limpar os itens antigos. Isso pode ser realizado pelo recurso embutido “AutoArquivar”, que pode excluir os itens antigos automaticamente em intervalos regulares. No entanto, alguns usuários desejam apenas excluir os anexos nos itens antigos sem afetar os próprios itens. A seguir, ensinaremos você a remover anexos em massa de itens de calendário antigos.

Remover anexos em lote de itens de calendário antigos em seu Outlook

Remover anexos em lote de itens de calendário desatualizados

  1. Para começar, acesse o editor VBA do Outlook por “Alt + F11”.
  2. Em seguida, na janela “Microsoft Visual Basic for Applications”, copie o código VBA em um módulo.
Sub BatchDeleteAttachmentsOfOldCalendarItems()
    Dim objOutlookFile As Outlook.Folder
    Dim objFolder As Outlook.Folder
 
    'Change to your own Outlook file
    Set objOutlookFile = Outlook.Application.Session.Folders("John Smith")
 
    For Each objFolder In objOutlookFile.Folders
        If objFolder.DefaultItemType = olAppointmentItem Then
           Call LoopCalendars(objFolder)
        End If
    Next
End Sub

Sub LoopCalendars(ByVal objCalendar As Outlook.Folder)
    Dim i, n As Long
    Dim objCalendarItem As Outlook.AppointmentItem
    Dim nDateDiff As Integer
    Dim objAttachments As Outlook.Attachments
    Dim objSubCalendar As Outlook.Folder
 
    For i = objCalendar.Items.Count To 1 Step -1
        Set objCalendarItem = objCalendar.Items(i)
 
        'Remove attachments from items that are more than 2 months old
        'Change the datediff as per your needs
        nDateDiff = DateDiff("m", objCalendarItem.End, Now) '=> "m" refers to month; "d" for day; "y" for year
        If nDateDiff > 2 Then
           Set objAttachments = objCalendarItem.Attachments
           If objAttachments.Count > 0 Then
              For n = objAttachments.Count To 1 Step -1
                  objAttachments(n).Delete
              Next
           End If
           objCalendarItem.Save
        End If
    Next

    'Process all subfolders recursively
    If objCalendar.Folders.Count > 0 Then
       For Each objSubCalendar In objCalendar.Folders
           Call LoopCalendars(objSubCalendar)
       Next
    End If
End Sub

Código VBA - Remover anexos em lote de itens de calendário desatualizados

  1. Em seguida, clique na macro “BatchDeleteAttachmentsOfOldCalendarItems”.
  2. Por fim, pressione o botão da tecla “F5” para executar esta macro.
  3. Quando a macro for concluída, você poderá verificar todos os seus calendários do Outlook.
  4. O Outlook deve ter excluído todos os anexos dos itens de calendário com mais de 2 meses.Anexos removidos de itens de calendário desatualizados

Lide com arquivos corrompidos do Outlook

Você já encontrou corrupção do Outlook? Como você costuma descartá-lo? Na maioria das vezes, você primeiro tentaria a ferramenta de reparo da caixa de entrada - ScanpstName. Mas, em caso de sérios danos ao PST, o utilitário integrado não pode ajudá-lo. Assim, sugere-se manter uma ferramenta de terceiros mais experiente e notável nas proximidades, como DataNumen Outlook Repair.

Introdução do autor:

Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo reparo do sql e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.