Outlook veri dosyanızın klasör yapısını hızlı bir şekilde bir Excel çalışma kitabına aktarmak isterseniz, bu makalede açıklanan yöntemi kullanabilirsiniz.
Geçerli Outlook klasörlerini ve alt klasörlerini günlüğe kaydetmek gibi bazı nedenlerle, birçok kullanıcı bir Outlook dosyasının klasör yapısını bir Excel çalışma kitabı gibi harici bir dosyaya vermeyi umar. Aşağıda, size bir anda ulaşmanıza yardımcı olabilecek bir VBA kodu parçası paylaşacağız.

Outlook Dosyanızın Klasör Yapısını Excel'e Aktarın
- Öncelikle Outlook uygulamanızı başlatın.
- Ardından, ana Outlook penceresinde “Alt + F11” tuş düğmelerine basın.
- Ardından, kullanılmayan bir modülü açmanız gereken Outlook VBA düzenleyicisine gireceksiniz.
- Daha sonra aşağıdaki VBA kodunu bu modüle kopyalayabilirsiniz.
Dim objExcelApp As Excel.Application
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Dim lMainFolder As Long
Sub ExportFolderStructureToExcel()
Dim objSourcePSTFile As Folder
'Add a new Excel workbook
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
With objExcelWorksheet
.Cells(1, 1) = "Folder Structure"
.Cells(1, 1).Font.Size = 14
.Cells(1, 1).Font.Bold = True
End With
'Select an Outlook PST file
Set objSourcePSTFile = Application.Session.PickFolder
lMainFolder = Len(objSourcePSTFile.FolderPath) - Len(Replace(objSourcePSTFile.FolderPath, "\", "")) + 1
Call ExportToExcel(objSourcePSTFile.FolderPath, objSourcePSTFile.Name)
Call ProcessFolders(objSourcePSTFile.Folders)
'Save this Excel workbook
objExcelWorksheet.Columns("A").AutoFit
strExcelFile = "E:\Folder Structure (" & Format(Now, "yyyymmddhhmmss") & ").xlsx"
objExcelWorkbook.Close True, strExcelFile
MsgBox "Complete!", vbExclamation
End Sub
Sub ProcessFolders(ByVal objFolders As Folders)
Dim objFolder As Folder
'Process all folders recursively
For Each objFolder In objFolders
If objFolder.Name <> "Conversation Action Settings" And objFolder.Name <> "Quick Step Settings" Then
Call ExportToExcel(objFolder.FolderPath, objFolder.Name)
Call ProcessFolders(objFolder.Folders)
End If
Next
End Sub
Sub ExportToExcel(ByRef strFolderPath As String, strFolderName As String)
Dim i, n As Long
Dim strPrefix As String
Dim nLastRow As Integer
i = Len(strFolderPath) - Len(Replace(strFolderPath, "\", ""))
For n = lMainFolder To i
strPrefix = strPrefix & "-"
Next
strFolderName = strPrefix & strFolderName
'Input the folder name in Excel
nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
objExcelWorksheet.Range("A" & nLastRow) = strFolderName
End Sub
- Bundan sonra, Outlook'un makroları etkinleştirdiğinden emin olmalısınız.
- Sonunda, bir çekim yapabilirsiniz:
- Geçerli makro penceresinde, F5 tuş düğmesine basın.
- Makro tamamlandıktan sonra, "Tamamlandı" soran bir uyarı alırsınız.
- Daha sonra, yeni bir Excel dosyası bulmak için önceden tanımlanmış yerel klasöre gidebilirsiniz. Açın ve aşağıdaki ekran görüntüsü gibi görünecektir:
Hiçbir Outlook Hatasını Asla Gözardı Etmeyin
Pek çok yeteneğe rağmen Outlook, diğer e-posta istemcileriyle aynı şekilde hatalara ve bozulmaya karşı hassastır. Bu nedenle, Outlook'unuzdaki tüm hatalara önem vermelisiniz. Onları hafife almayın lütfen. Aksi takdirde, biriken hatalar sonunda Outlook bozulmasına yol açabilir. Düğümlü hatalarla karşılaşılırsa, güçlü bir araç kullanılması önerilir. DataNumen Outlook Repairolabilir Outlook'u onar saniyeler içinde hatalar.
Yazar Tanıtımı:
Shirley Zhang, bir veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. sql kurtarma ve görünüm onarım yazılım ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com

