Якщо ви хочете перемістити всі електронні листи у файлі PST до певної папки іншого файлу PST, ви можете скористатися методом, представленим у цій статті. Це навчить вас користуватися VBA, щоб швидко її отримати.
Іноді з якихось причин може знадобитися перемістити всі електронні листи у певному файлі PST до певної папки іншого файлу PST. У цьому випадку, якщо ви зробите це вручну, це буде, безперечно, досить клопітно. Отже, тут ми навчимо швидкий метод, який використовуватиме VBA для прокручування всіх папок у певному PST-файлі та переміщення кожного повідомлення електронної пошти до певної папки. Прочитайте далі, щоб досягти детальних кроків і кодів.
Пакетне переміщення всіх електронних листів у файлі Outlook PST у певну папку
- З самого початку запустіть програму Outlook.
- Потім ви можете перейти на вкладку «Розробник» і натиснути кнопку «Visual Basic». Або натисніть комбінації клавіш “Alt + F11”.
- Згодом у спливаючому вікні редактора VBA відкрийте не використовуваний модуль або прямо вставте новий.
- Далі скопіюйте та вставте наступні коди VBA в цей модуль.
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
- Після цього змініть рівень захисту макросів Outlook на низький.
- Врешті-решт ви можете запустити новий макрос, натиснувши піктограму «Виконати» на панелі інструментів або натиснувши клавішу «F5».
- Одночасно всі електронні листи всіх папок у певній папці будуть переміщуватися до попередньо визначеної папки групами.
Вчасно врятуйте свої дані PST
Якщо ти, на жаль, страждаєш PST пошкодження, що ти тоді будеш робити? Загалом, ваша перша думка повинна якомога швидше повернути компрометовані дані PST. Як зазвичай, найпростіший спосіб - відновити за допомогою актуальної резервної копії даних. Однак якщо резервна копія даних має кілька тижнів, вона може виявитися марною. У цьому випадку вам не залишається нічого іншого, як повернутися до потужного інструменту відновлення, наприклад DataNumen Outlook Repair.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі виправлення mdf та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com

