Kako paketno premakniti vsa e-poštna sporočila v Outlookovi datoteki PST v določeno mapo prek VBA

Skupna raba zdaj:

Če želite premakniti vsa e-poštna sporočila v datoteki PST v določeno mapo v drugi datoteki PST, lahko uporabite metodo, predstavljeno v tem članku. Naučil vas bo, kako uporabljati VBA, da ga hitro dobite.

Včasih boste iz nekaterih razlogov morda morali premakniti vsa e-poštna sporočila v določeni datoteki PST v določeno mapo v drugi datoteki PST. V tem primeru, če to storite ročno, bo nedvomno precej težavno. Zato bomo tukaj poučili hitro metodo, ki bo uporabila VBA za brskanje po vseh mapah v določeni datoteki PST in vsako e-pošto premaknila v določeno mapo. Berite naprej, da dosežete dovršene korake in kode.

Paketno premaknite vsa e-poštna sporočila v Outlookovi datoteki PST v določeno mapo

Paketno premaknite vsa e-poštna sporočila v Outlookovi datoteki PST v določeno mapo

  1. Na začetku zaženite aplikacijo Outlook.
  2. Nato lahko preklopite na zavihek »Razvijalec« in kliknete gumb »Visual Basic«. Ali pa pritisnite bližnjične tipke »Alt + F11«.
  3. Nato v pojavnem oknu urejevalnika VBA odprite modul, ki ni v uporabi, ali neposredno vstavite novega.
  4. Nato kopirajte in prilepite naslednje kode VBA v ta modul.
Private Sub GetAllFolders()
    Dim objFolders As Outlook.Folders
    Dim objFolder As Outlook.Folder
 
    'Get all the folders in a specific PST file
    Set objFolders = Outlook.Application.Session.Folders("Personal").Folders
 
    For Each objFolder In objFolders
        Call MoveEmails(objFolder)
    Next
End Sub
 
Private Sub MoveEmails(ByVal objFolder As Outlook.Folder)
    Dim objTargetFolder As Outlook.Folder
    Dim objSubFolder As Outlook.Folder
    Dim i As Long
    Dim objMail As Outlook.MailItem
 
    'Get the specific destination folder
    'You can change it as per your case
    Set objTargetFolder = Outlook.Application.Session.Folders("John Smith").Folders("New")
 
    If objTargetFolder Is Nothing Then
       Set objTargetFolder = Outlook.Application.Session.Folders("John Smith").Folders.Add("New")
    End If
 
    'Move each emails in the folder to the destination folder
    For i = objFolder.Items.Count To 1 Step -1
        If objFolder.Items.Item(i).Class = olMail Then
           Set objMail = objFolder.Items.Item(i)
           objMail.Move objTargetFolder
        End If
    Next i
 
    'Process the subfolders in the folder recursively
    If (objFolder.Folders.Count > 0) Then
       For Each objSubFolder In objFolder.Folders
           Call MoveEmails(objSubFolder)
       Next
    End If
End Sub

Kode VBA – paketno premaknite vsa e-poštna sporočila v Outlookovi datoteki PST v določeno mapo

  1. Po tem spremenite raven varnosti makra v Outlooku na nizko.
  2. Sčasoma lahko zaženete nov makro tako, da kliknete ikono »Zaženi« v orodni vrstici ali pritisnete tipko »F5«.
  3. Naenkrat bodo vsa e-poštna sporočila vseh map v določeni mapi v paketih premaknjena v vnaprej določeno mapo.

Pravočasno rešite svoje podatke PST

Če na žalost trpite PST škoda, kaj boš naredil potem? Na splošno je vaša prva misel, da čim prej dobite nazaj ogrožene podatke PST. Kot običajno je najpreprostejši način obnovitev iz posodobljene varnostne kopije podatkov. Če pa je varnostna kopija podatkov stara več tednov, je lahko neuporabna. V tem primeru vam ne preostane drugega, kot da se znova obrnete na zmogljivo orodje za obnovitev, kot je npr DataNumen Outlook Repair.

Uvod avtorja:

Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z mdf popravek in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com

Skupna raba zdaj:

Komentarji so zaprti.