Czasami możesz chcieć wyeksportować zbiorczo folder programu Outlook ze wszystkimi podfolderami i elementami do folderu Windows. Ten artykuł nauczy Cię takiej metody, jaką jest zastosowanie Outlook VBA.
Jeśli chcesz wyeksportować folder programu Outlook na dysk lokalny ze wszystkimi elementami w tej samej strukturze folderów, jeśli wybierzesz zapisywanie i eksportowanie ręcznie, zajmie Ci to dużo czasu. Dlaczego więc nie skorzystać z innych środków, takich jak narzędzia eksportowe lub kody VBA? Tutaj przedstawimy Ci taki fragment kodu VBA. Pozwoli ci to osiągnąć jak bryza.

Eksportuj wszystkie podfoldery i elementy z folderu programu Outlook do folderu Windows
- Na samym początku uruchom program Outlook.
- Następnie w głównym oknie Outlooka naciśnij skrót klawiszowy "Alt + F11".
- Następnie pojawi się okno „Microsoft Visual Basic for Applications”.
- Następnie musisz otworzyć pusty moduł i skopiować do niego następujące kody VBA.
Private objFileSystem As Object
Private Sub ExportFolderWithAllItems()
Dim objFolder As Outlook.Folder
Dim strPath As String
'Specify the root local folder
'Change it as per your needs
strPath = "E:\Outlook\"
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
'Select a Outlook PST file or Outlook folder
Set objFolder = Outlook.Application.Session.PickFolder
Call ProcessFolders(objFolder, strPath)
MsgBox "Complete", vbExclamation
End Sub
Private Sub ProcessFolders(objCurrentFolder As Outlook.Folder, strCurrentPath As String)
Dim objItem As Object
Dim strSubject, strFileName, strFilePath As String
Dim objSubfolder As Outlook.Folder
'Create the local folder based on the Outlook folder
strCurrentPath = strCurrentPath & objCurrentFolder.Name
objFileSystem.CreateFolder strCurrentPath
For Each objItem In objCurrentFolder.Items
strSubject = objItem.Subject
'Remove unsupported characters in the subject
strSubject = Replace(strSubject, "/", " ")
strSubject = Replace(strSubject, "\", " ")
strSubject = Replace(strSubject, ":", "")
strSubject = Replace(strSubject, "?", " ")
strSubject = Replace(strSubject, Chr(34), " ")
strFileName = strSubject & ".msg"
i = 0
Do Until False
strFilePath = strCurrentPath & "\" & strFileName
'Check if there exist a file in the same name
If objFileSystem.FileExists(strFilePath) Then
'Add a sequence order to the file name
i = i + 1
strFileName = strSubject & " (" & i & ").msg"
Else
Exit Do
End If
Loop
'Save as MSG file
objItem.SaveAs strFilePath, olMSG
Next
'Process subfolders recursively
If objCurrentFolder.folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder, strCurrentPath & "\")
Next
End If
End Sub
- Następnie musisz upewnić się, że Twój Outlook zezwala na makra w ustawieniach makr.
- W końcu możesz spróbować.
- Najpierw wróć do nowego okna makr.
- Następnie kliknij podprogram „ExportFolderWithAllItems”.
- Następnie naciśnij klawisz F5, aby uruchomić to makro.
- Następnie musisz wybrać określony folder.
- Wreszcie, gdy pojawi się komunikat „Zakończono”, możesz uzyskać dostęp do wstępnie zdefiniowanego folderu lokalnego. Przekonasz się, że wszystkie elementy zostały zapisane w tej samej strukturze folderów.
Zapobiegaj utracie danych w wyniku awarii programu Outlook
Być może doświadczyłeś wielu awarii Outlooka. W większości przypadków po ponownym uruchomieniu Outlook będzie działał normalnie. Zdarza się jednak, że nasz plik PST może ulec uszkodzeniu. W takim przypadku najlepiej będzie spróbować odzyskać dane PST, na przykład korzystając z zaawansowanego narzędzia, takiego jak… DataNumen Outlook Repair. Jest w stanie naprawić Outlooka błędy i wyodrębnij dane z zaatakowanego pliku PST bez przerywania potu.
Wprowadzenie autora:
Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym SQL Server naprawa i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com


