หากคุณต้องการรับรายงานเกี่ยวกับจำนวนรายการในแต่ละโฟลเดอร์ Outlook คุณสามารถใช้วิธีการที่แนะนำในบทความนี้ มันจะทำการนับและส่งออกผลลัพธ์ไปยังไฟล์ Excel อย่างรวดเร็ว
ในบทความก่อนหน้าของฉัน -“วิธีรับจำนวนรายการทั้งหมดในโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดอย่างรวดเร็วผ่าน Outlook VBA” คุณสามารถเรียนรู้วิธีการโดยใช้ VBA เพื่อรับจำนวนรายการในโฟลเดอร์ อย่างไรก็ตามหากคุณต้องการนับรายการในโฟลเดอร์ทั้งหมดคุณต้องเลือกแต่ละโฟลเดอร์และเรียกใช้แมโครทีละรายการ มันค่อนข้างน่าเบื่อ ดังนั้นเราจะสอนวิธีอื่นให้คุณซึ่งจะส่งออกการนับไปยังไฟล์ Excel
ส่งออกจำนวนรายการทั้งหมดในแต่ละโฟลเดอร์ Outlook ไปยัง Excel
- ในตอนแรกให้เปิดโปรแกรม Outlook ของคุณ
- จากนั้นกดปุ่ม“ Alt + F11” ในหน้าต่างหลักของ Outlook
- จากนั้นคุณจะเข้าสู่หน้าต่าง“ Microsoft Visual Basic for Applications” ซึ่งคุณจะต้องเปิดโมดูลที่ไม่ได้ใช้งาน
- จากนั้นคัดลอกและวางโค้ด VBA ต่อไปนี้ลงในโมดูลนี้
Public strExcelFile As String
Public objExcelApp As Excel.Application
Public objExcelWorkbook As Excel.Workbook
Public objExcelWorksheet As Excel.Worksheet
Sub Export_CountOfItems_InEachFolder_toExcel()
Dim objSourcePST As Outlook.Folder
Dim objFolder As Outlook.Folder
'Create a new Excel file
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
objExcelWorksheet.Cells(1, 1) = "Folder"
objExcelWorksheet.Cells(1, 2) = "Count Items"
'Select a source PST file
Set objSourcePST = Outlook.Application.Session.PickFolder
For Each objFolder In objSourcePST.folders
Call ProcessFolders(objFolder)
Next
'Fit the columns from A to B
objExcelWorksheet.Columns("A:B").AutoFit
strExcelFile = "E:\Outlook\" & objSourcePST.Name & " Folder Items Count (" & Format(Now, "yyyy-mm-dd hh-mm-ss") & ").xlsx"
objExcelWorkbook.Close True, strExcelFile
MsgBox "Complete!", vbExclamation
End Sub
Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder)
Dim objItem As Object
Dim lCurrentFolderItemCount As Long
Dim nLastRow As Integer
lCurrentFolderItemCount = objCurrentFolder.Items.Count
nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
'Add the values into the columns
objExcelWorksheet.Range("A" & nLastRow) = objCurrentFolder.FolderPath
objExcelWorksheet.Range("B" & nLastRow) = lCurrentFolderItemCount
If objCurrentFolder.folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- หลังจากนั้นคุณต้องเปลี่ยนระดับความปลอดภัยของแมโคร Outlook เป็นระดับต่ำ
- จากนั้นคุณสามารถกลับไปที่มาโครที่เพิ่มเข้ามาใหม่และกดปุ่ม F5 เพื่อเรียกใช้มาโครนี้
- ถัดไปคุณต้องเลือกไฟล์ PST ต้นทางและกด "ตกลง"
- หลังจากแมโครเสร็จสิ้นคุณสามารถไปที่โฟลเดอร์ภายในที่กำหนดไว้ล่วงหน้าเพื่อค้นหาไฟล์ Excel ใหม่ซึ่งจะมีลักษณะเหมือนภาพหน้าจอต่อไปนี้:
ยุติข้อผิดพลาด PST ที่น่ารำคาญ
บางทีคุณอาจเจอปัญหาต่างๆระหว่างใช้ Outlook ในการจัดการกับปัญหาเล็ก ๆ คุณสามารถใช้ไฟล์ เครื่องมือซ่อมแซมกล่องจดหมาย. อย่างไรก็ตามหากปัญหาร้ายแรงจนเกินกว่าที่เครื่องมือในตัวจะทำได้คุณต้องใช้เครื่องมือที่มีประสิทธิภาพมากขึ้นเช่น DataNumen Outlook Repair.
บทนำผู้เขียน:
Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ ซ่อม mdf และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.


