Noen håper at Outlook kan automatisk sjekke emnene til de eldre e-postene når nye e-poster kommer, og gi nytt navn til eller slette de eldre e-postene hvis de har samme emner som de nye e-postene. Dette krever bruk av Outlook VBA. Denne artikkelen vil hjelpe deg å oppnå det.
Du må noen gang ha mottatt mange e-poster som har de samme emnene. Er det litt plagsomt for deg å identifisere og skille dem i e-postlisten? Eller tror du at de eldre e-postene er helt ubrukelige for deg? I så fall må du ønske å la Outlook automatisk skanne og sjekke alle eksisterende e-poster når nye e-poster kommer. Når det er e-poster som har samme emner som den nye, kan Outlook spørre deg om du vil endre navn på eller slette dem. Uten tvil gir ikke Outlook brukere denne typen funksjoner. Derfor må du ty til VBA. Her vil vi avsløre de detaljerte kodene og operasjonene for deg.
Gi automatisk nytt navn til eller fjern de eldre e-postene
- Først kan du start Outlook og gå til "Utvikler"-fanen.
- Da vil du kunne finne og klikke på "Visual Basic"-knappen.
- Etter å ha truffet den, får du tilgang til VBA-redigeringsvinduet. I den må du åpne "ThisOutlookSession" -prosjektet.
- Deretter bør du kopiere og lime inn følgende VBA-koder i den.
Offentlig WithEvents olItems As Outlook.Items Sub Application_Startup() 'Spesifiser e-postene i Inbox-mappen Set olItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items End Sub Private Sub olItems_ItemAdd(ByVal Item As Object) Dim i As Long Dim objVariant As Variant Dim strMsg As String Dim Som heltall For i = 1 Til olItems.Count Sett objVariant = olItems.Item(i) If TypeOf objVariant Is MailItem Then If objVariant.Subject = Item.Subject And objVariant.ReceivedTime < Item.ReceivedTime Then nDateDiff(" = DateDiff", objVariant.ReceivedTime, Now) 'Legg til "(Old)"-suffikset til e-postemnene objVariant.Subject = objVariant.Subject & "(Old)" objVariant.Save 'Hvis de gamle e-postene har blitt mottatt i 60 dager, spør deg om du vil delete If nDateDiff > 60 Then strMsg = "Det er noen eldre e-poster som har samme emner som den nye e-posten og har blitt mottatt i 2 måneder. Vil du slette dem?" nRes = MsgBox(strMsg, vbExclamation + vbYesNo, "Finn eldre e-poster") If nRes = vbYes Then objVariant.Delete End If End If End If End If Next End Sub
- Deretter må du signere denne koden digitalt. Trykk "Verktøy"> "Digital signatur". Så i popup-dialogboksen kan du velge ett eksisterende sertifikat. Hvis det ikke er noe ferdig sertifikat, kan du bruke "Digitale sertifikater for VBA-prosjekter" for å lage et nytt.
- Etter det kan du gå ut av det gjeldende vinduet og fortsette å endre makroinnstillingene, og kun tillate digitalt signerte makroer.
- Etter hvert kan du restart Outlook for å aktivere den nye makroen. Fra nå av, når nye e-poster kommer i innboksen, vil Outlook automatisk sjekke alle eksisterende e-poster.
- Hvis de gamle e-postene har samme emne som de nye, vil Outlook automatisk legge til "(gammel)"-suffikset til e-postemnet.
- Og hvis de eldre e-postene har blitt lagret i Inbox i over 2 måneder, vil du motta en melding som spør deg om du vil slette dem, som bildet nedenfor. Du kan velge "Ja" eller "Nei" basert på dine egne behov.
Outlook-filkorrupsjon på grunn av stor størrelse
Noen mennesker har ingen vaner med å slette gamle elementer regelmessig i Outlook. Dermed vil deres Outlook-fil være i stor størrelse, noe som ikke er tilrådelig akkurat. Det er fordi en overdimensjonert Outlook-fil er langt mer sårbar enn fil i liten størrelse. Når filen blir ødelagt, vil det innebygde reparasjonsverktøyet, Scanpst.exe, være hjelpeløst i most saker. Din unike resort kan være en bemerkelsesverdig og velprøvd ødelagt Outlook PST reparasjonsverktøy, Som DataNumen Outlook Repair.
Forfatterintroduksjon:
Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert reparasjon korrupt SQL Server mdf database og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med