Как да групирате Преместване на всички имейли в Outlook PST файл в определена папка чрез VBA

Споделете сега:

Ако искате да преместите всички имейли в PST файл в определена папка в друг PST файл, можете да използвате метода, представен в тази статия. Ще ви научи как да използвате VBA, за да го получите бързо.

Понякога по някакви причини може да се наложи да преместите всички имейли в определен PST файл в определена папка в друг PST файл. В този случай, ако го направите ръчно, това ще бъде безспорно доста обезпокоително. Ето защо тук ще научим бърз метод, който ще използва VBA, за да премине през всички папки в определен PST файл и да премести всеки имейл в определена папка. Прочетете, за да постигнете сложните стъпки и кодове.

Пакетно преместване на всички имейли в Outlook PST файл в конкретна папка

Пакетно преместване на всички имейли в Outlook PST файл в конкретна папка

  1. В самото начало стартирайте приложението си Outlook.
  2. След това можете да превключите към раздела „Разработчик“ и да кликнете върху бутона „Visual Basic“. Или натиснете клавишните комбинации „Alt + F11“.
  3. Впоследствие в изскачащия прозорец на редактора на VBA отворете неизползваем модул или направо вмъкнете нов.
  4. След това копирайте и поставете следните 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

VBA кодове - Пакетно преместване на всички имейли в PST файл на Outlook в определена папка

  1. След това променете нивото на защита на макроса на Outlook на ниско.
  2. В крайна сметка можете да стартирате новия макрос, като щракнете върху иконата “Run” в лентата с инструменти или натиснете клавиша “F5”.
  3. Веднага всички имейли на всички папки в определена папка ще бъдат преместени в предварително определената папка на партиди.

Спасете вашите PST данни навреме

Ако за съжаление страдате PST щети, какво ще правиш тогава? Като цяло първата ви мисъл трябва да върнете компрометираните PST данни възможно най-скоро. Както обикновено, най-простият начин е да възстановите от актуално архивиране на данни. Ако обаче архивирането на данни е на няколко седмици, то може да е безполезно. В този случай нямате друг избор, освен да се върнете към мощен инструмент за възстановяване, като например DataNumen Outlook Repair.

Въведение на автора:

Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително mdf корекция и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com

Споделете сега:

Коментарите са забранени.