Niektorí ľudia dúfajú, že Outlook môže automaticky skontrolovať predmety starších e-mailov, keď prídu nové e-maily, a premenovať alebo odstrániť staršie e-maily, ak majú rovnaké predmety ako nové e-maily. To si vyžaduje použitie Outlooku VBA. Tento článok vám to pomôže dosiahnuť.
Určite ste už niekedy dostali veľa e-mailov s rovnakými témami. Je pre vás trochu problematické ich identifikovať a rozlíšiť v zozname e-mailov? Alebo si myslíte, že tie staršie emaily sú pre vás úplne zbytočné? Ak je to tak, musíte povoliť, aby program Outlook automaticky prehľadal a skontroloval všetky existujúce e-maily, keď prídu nové e-maily. Ak existujú e-mailové adresy, ktoré majú rovnaké predmety ako nové, Outlook sa vás opýta, či ich chcete premenovať alebo vymazať. Aplikácia Outlook nepochybne neposkytuje používateľom tento druh funkcií. Preto sa musíte uchýliť k VBA. Tu vám vystavíme podrobné kódy a operácie.
Automatické premenovanie alebo odstránenie starších e-mailov
- Najprv môžete spustiť Outlook a prejsť na kartu „Vývojár“.
- Potom budete môcť nájsť a kliknúť na tlačidlo „Visual Basic“.
- Po stlačení sa dostanete do okna editora VBA. V ňom budete musieť otvoriť projekt „ThisOutlookSession“.
- Ďalej by ste mali skopírovať a prilepiť nasledujúce kódy VBA.
Public WithEvents olItems As Outlook.Items
Sub Application_Startup()
'Specify the Emails in Inbox folder
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 nRes As Integer
For i = 1 To olItems.Count
Set objVariant = olItems.Item(i)
If TypeOf objVariant Is MailItem Then
If objVariant.Subject = Item.Subject And objVariant.ReceivedTime < Item.ReceivedTime Then
nDateDiff = DateDiff("d", objVariant.ReceivedTime, Now)
'Add "(Old)" suffix to the email subjects
objVariant.Subject = objVariant.Subject & "(Old)"
objVariant.Save
'If the old emails have been recieved for 60 days, ask you whether to delete
If nDateDiff > 60 Then
strMsg = "There are some older emails whcih have the same subjects with the new email and have been recieved for 2 months. Do you want to delete them?"
nRes = MsgBox(strMsg, vbExclamation + vbYesNo, "Find Older Emails")
If nRes = vbYes Then
objVariant.Delete
End If
End If
End If
End If
Next
End Sub
- Následne by sa od vás vyžadovalo digitálne podpísanie tohto kódu. Kliknite na položky „Nástroje“> „Digitálny podpis“. V rozbaľovacom dialógovom okne potom môžete vybrať jeden existujúci certifikát. Ak nemáte pripravený certifikát, môžete vytvoriť nový pomocou digitálnych certifikátov pre projekty VBA.
- Potom môžete opustiť aktuálne okno a zmeniť nastavenia makra, čím povolíte iba digitálne podpísané makra.
- Nakoniec môžete reštartovať Outlook, aby ste aktivovali nové makro. Odteraz, keď do priečinka Doručená pošta prídu nové e-maily, Outlook bude automaticky kontrolovať všetky existujúce e-maily.
- Ak majú staré e-maily rovnaký predmet ako nový, potom Outlook automaticky pridá k predmetu e-mailu príponu „(starý)“.
- A ak sú staršie e-mailové správy uložené v Doručenej pošte dlhšie ako 2 mesiace, dostanete výzvu s otázkou, či ich chcete vymazať, ako na obrázku nižšie. Podľa vlastných potrieb môžete zvoliť „Áno“ alebo „Nie“.
Poškodenie súborov programu Outlook z dôvodu veľkej veľkosti
Niektorí ľudia nemajú vo zvyku pravidelne mazať staré položky v programe Outlook. Ich súbor programu Outlook bude preto veľký, čo sa vôbec neodporúča. Je to preto, že nadrozmerný súbor programu Outlook je oveľa zraniteľnejší ako súbor malej veľkosti. Keď sa súbor poškodí, vstavaný nástroj na opravu Scanpst.exe bude vo väčšine prípadov bezmocný. Váš jedinečný postup môže byť pozoruhodným a osvedčeným riešením. poškodený nástroj na opravu programu Outlook PST, Ako DataNumen Outlook Repair.
Úvod autora:
Shirley Zhang je expertkou na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane opraviť poškodený SQL Server mdf databáza a výhľadové softvérové produkty na opravu. Pre viac informácií navštívte www.datanumen. S


