Hur man snabbt tar bort bilagor från e-postmeddelanden äldre än ett visst datum med Outlook VBA

För att hålla Outlook-postlådan i liten storlek och förhindra korruption av Outlook-data, föreslås det att du tar bort bilagor från e-postmeddelanden som togs emot eller skickades för en viss period sedan. Den här artikeln hjälper dig att snabbt uppnå det med Outlook VBA.

Som vi alla vet, med Outlook-postlådan större, kommer Outlook-data att bli mycket mer sårbara. Därför vänjer jag mig vid att ta bort bilagorna i åldrade e-postmeddelanden som är äldre än ett specifikt datum, eftersom jag vanligtvis har sparat dessa bilagor på min lokala disk tidigare. Men det är lite jobbigt att jag måste ta reda på vilka e-postmeddelanden som är åldrade och sedan manuellt ta bort bilagorna. För att förbättra min effektivitet tar jag fram en lösning med hjälp av Outlook VBA.

Ta bort bilagor från mottagna e-postmeddelanden som är äldre än ett visst datum

  1. Till att börja med, öppna Outlook och gå till fliken "Utvecklare".
  2. Tryck sedan på knappen "Visual Basic" i gruppen "Code".Visual Basic-knapp
  3. Ett nytt fönster kommer att dyka upp. I den bör du öppna en ny modul och kopiera följande koder till den.
Sub RemoveAttachmentsfromAgedEmail()
    Dim olInbox As Outlook.Folder
    Dim varItem As Variant
    Dim i As Integer
    Dim intDatDiff As Integer
    Dim Att As Attachment
 
    Set olInbox = Session.GetDefaultFolder(olFolderInbox)

    For i = olInbox.Items.Count To 1 Step -1
        Set varItem = olInbox.Items.Item(i)
        If varItem.Class = olMail Then
           'calculate the period between now and the received time 
           intDatDiff = DateDiff("d", varItem.ReceivedTime, Now)
           'You can replace "50" as per your needs
           If intDatDiff > 50 Then
              For Each Att In varItem.Attachments
                  Att.Delete
              Next Att
              varItem.Save
           End If
        End If
    Next
End Sub

Koden syftar till att ta bort bilagor

  1. Nu kan du avsluta det aktuella "Visual Basic"-fönstret och fortsätta att lägga till makrot i verktygsfältet Snabbåtkomst. Följ stegen nedan:
  • Klicka först på nedåtpilen i verktygsfältet Snabbåtkomst och välj "Fler kommandon" från rullgardinsmenyn.
  • Sedan ska du välja "Makron" i fältet "Välj kommandon från".
  • Välj sedan rätt makro och klicka på "Lägg till" -knappen i mitten.Lägg till den nya makroen i snabbåtkomstverktygsfältet
  • Klicka slutligen på "OK"-knappen för att aktivera det och tillbaka till Outlooks huvudfönster.
  1. Så småningom kan du hitta och klicka på knappen i verktygsfältet Snabbåtkomst. Bilagorna i mailen, som är äldre än ditt angivna datum, kommer att tas bort snabbt.Ta bort bilagor från äldre e-postmeddelanden av VBA

Ta bort bilagor från skickade e-postmeddelanden äldre än ett visst datum

För att uppnå detta mål kan du kopiera hela VBA-koderna ovan men ändra vissa rader genom att följa meddelandena nedan:

  1. Först, ändra alla "olInbox" till "olSentItemFolder" i VBA-koderna.
  2. Ersätt sedan "Set olInbox = Session.GetDefaultFolder(olFolderInbox)" med:
Set olSentItemFolder = Session.GetDefaultFolder(olFolderSentMail)
  1. Ersätt sedan "intDatDiff = DateDiff("d", varItem.ReceivedTime, Now)" med:
intDatDiff = DateDiff("d", varItem.SentOn, Now)

Eliminera irriterande Outlook-fel

Om du har använt Outlook länge måste frekventa fel ha blivit vanliga saker. Det är uppenbart att du inte kan förutse eller helt bli av med dem. Det du kan göra är bara att försöka lösa dem. Använd till exempel reparationsverktyget Scanpest.exe för att fixa Outlook e-postfel. Du måste också göra en regelbunden säkerhetskopia av dina Outlook-data i händelse av oväntad krasch.

Författarintroduktion:

Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive reparation SQL Server MDF-skada och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.