Як швидко скопіювати структуру папки з одного файлу PST Outlook в інший через VBA

Поділитися зараз:

Якщо ви хочете скопіювати структуру папок з одного файлу Outlook PST в інший, ви можете скористатися методом, представленим у цій статті, який навчить вас користуватися VBA, щоб отримати його за один раз.

Можливо, для кращого управління електронними листами ви створили кілька власних папок у головному файлі Outlook. Таким чином, створюючи новий файл Outlook PST, ви можете застосувати ту саму структуру папок. Власне, у моїй попередній статті - "2 кроки для збереження поточної ієрархії папок у новому файлі Outlook”, Ви можете вивчити традиційний метод, який використовує функцію“ Архів ”для його досягнення. Тим не менше, насправді, це все одно трохи втомливо. Порівняно з цим, використання кодів VBA для його отримання буде набагато швидшим. Тому далі, ми розповімо вам детальні кроки та коди.

Швидко скопіюйте структуру папки з одного файлу PST Outlook на інший

Скопіюйте структуру папки з одного файлу PST Outlook на інший

  1. На самому початку запустіть програму Outlook.
  2. Потім у вікні Outlook натисніть клавіші “Alt + F11”.
  3. Далі ви зайдете у вікно редактора Outlook VBA.
  4. Згодом скопіюйте та вставте наступні коди VBA в новий модуль.
Public objNewPSTFolder As Outlook.Folder
 
Sub CopyFolderStructure()
    Dim objFolders As Outlook.Folders
    Dim objFolder As Outlook.Folder
 
    'Get the folders of the source Outlook PST file
    Set objFolders = Outlook.Application.Session.Folders("Personal").Folders
 
    'Create the new pst file in your desired local folder and name
    Outlook.Application.Session.AddStore "E:\New PST File.pst"
    Set objNewPSTFolder = Session.Folders.GetLast()
 
    For Each objFolder In objFolders
        CreateFolder objFolder
    Next
 
    MsgBox "Completed!", vbOKOnly + vbInformation, "Copy Folder Structure"
End Sub
 
Sub CreateFolder(objFolder As Outlook.Folder)
    Dim objSubFolder As Outlook.Folder
 
    'Only copy the mail folder
    If (objFolder.DefaultItemType = olMailItem) Then
       'New Outlook PST file auto includes the "Deleted Items" folder, so skip it
       'Skip the useless mail folders - "Conversation Action Settings" and "Quick Step Settings"
       If (objFolder.Name <> "Deleted Items") And (objFolder.Name <> "Conversation Action Settings") And (objFolder.Name <> "Quick Step Settings") Then
 
          'Create the new folder
          objNewPSTFolder.Folders.Add objFolder.Name
          Set objNewPSTFolder = objNewPSTFolder.Folders.Item(objFolder.Name)
 
          For Each objSubFolder In objFolder.Folders
              CreateFolder objSubFolder
          Next
 
          Set objNewPSTFolder = objNewPSTFolder.parent
       End If
    End If

End Sub

Коди VBA - Скопіюйте структуру папки з одного файлу PST Outlook на інший

  1. Після цього змініть рівень захисту макросів на низький.
  2. Пізніше поверніться до вікна редактора VBA та натисніть клавішу “F5”, щоб запустити макрос.
  3. Нарешті, після завершення роботи макросу ви отримаєте повідомлення із запитом «Завершено!».Запрошення повідомлення завершено
  4. На цьому етапі ви можете перейти на панель навігації поштою. Ви побачите новий файл даних Outlook, який знаходиться в тій же структурі папок, що і вихідний файл PST, як на малюнку нижче:Копіювати структуру папки

Справитися з неприємними проблемами PST

Оскільки Outlook PST схильний до помилок, багато хто з вас, мабуть, стикалися з різними проблемами в Outlook. Зіткнувшись із ними, ви можете спершу скористатися інструментом відновлення вхідних повідомлень Outlook, щоб спробувати. Якщо це не вдається, ви можете застосувати більш потужний сторонній інструмент, такий як DataNumen Outlook Repair, які можуть виправити Outlook Помилки PST, як вітерець.

Вступ автора:

Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі SQL Server фіксувати та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com

Поділитися зараз:

Коментарі закриті.