ผู้ใช้หลายคนหวังว่า Outlook จะสามารถส่งออกข้อมูลหลักของอีเมลขาเข้าไปยังไฟล์ Excel ได้โดยอัตโนมัติ บทความนี้จะพิจารณาข้อกำหนดนี้และแนะนำวิธีการด่วนผ่าน Outlook VBA
บางครั้ง ด้วยเหตุผลบางอย่าง เช่น สถิติอีเมล คุณอาจต้องส่งออกอีเมลเป็นไฟล์ Excel บ่อยครั้ง โดยทั่วไป สำหรับอีเมลที่ได้รับที่มีอยู่ คุณสามารถใช้คุณสมบัติ “นำเข้าและส่งออก” เพื่อส่งออกไปยัง Excel ได้ในครั้งเดียว อย่างไรก็ตาม บางทีคุณอาจต้องการให้ Outlook สามารถส่งออกอีเมลขาเข้าไปยัง Excel โดยอัตโนมัติทันทีที่มาถึงกล่องจดหมายของคุณ ไม่ต้องสงสัยเลยว่าไม่มีฟีเจอร์ดั้งเดิมใน Outlook ดังนั้น คุณต้องใช้วิธีการอื่นๆ เช่น Add-in ของบุคคลที่สามหรือ Outlook VBA ที่นี่เราจะสอนวิธีทำให้เป็นอัตโนมัติด้วย Outlook VBA อ่านเพื่อรับขั้นตอนและตามรหัส
ส่งออกข้อมูลอีเมลขาเข้าไปยังไฟล์ Excel โดยอัตโนมัติ
- ก่อนอื่นคุณควรสร้างไฟล์ Excel
- เปิดไฟล์ Excel ใหม่
- จากนั้นคุณควรพิมพ์ "ไม่" ในเซลล์ A1, "ชื่อผู้ส่ง" ในเซลล์ B1, "ที่อยู่อีเมลของผู้ส่ง" ในเซลล์ C1 และ "หัวเรื่องอีเมล" ในเซลล์ D1 และ "เวลาที่ได้รับ" ในเซลล์ E1 เช่นเดียวกับภาพต่อไปนี้

- สุดท้ายบันทึกไว้ในชื่อที่คุณต้องการและโฟลเดอร์ที่ต้องการ
- หลังจากนั้น คุณควรเปิดใช้ Outlook
- จากนั้นกดปุ่ม "Alt + F11" ซึ่งจะนำคุณไปยังโปรแกรมแก้ไข VBA
- ถัดไปในหน้าต่างป๊อปอัป คุณควรดับเบิลคลิกที่ “ThisOutlookSession” ทางด้านซ้าย
- ต่อจากนั้น ในหน้าต่างโครงการ “ThisOutlookSession” คุณต้องคัดลอกและวางโค้ด VBA ต่อไปนี้ลงไป
Public WithEvents objMails As Outlook.Items
Private Sub Application_Startup()
Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub objMails_ItemAdd(ByVal Item As Object)
Dim objMail As Outlook.MailItem
Dim strExcelFile As String
Dim objExcelApp As Excel.Application
Dim objExcelWorkBook As Excel.Workbook
Dim objExcelWorkSheet As Excel.Worksheet
Dim nNextEmptyRow As Integer
Dim strColumnB As String
Dim strColumnC As String
Dim strColumnD As String
Dim strColumnE As String
If Item.Class = olMail Then
Set objMail = Item
End If
'Specify the Excel file which you want to auto export the email list
'You can change it as per your case
strExcelFile = "E:\Email\Email Statistics.xlsx"
'Get Access to the Excel file
On Error Resume Next
Set objExcelApp = GetObject(, "Excel.Application")
If Error <> 0 Then
Set objExcelApp = CreateObject("Excel.Application")
End If
Set objExcelWorkBook = objExcelApp.Workbooks.Open(strExcelFile)
Set objExcelWorkSheet = objExcelWorkBook.Sheets("Sheet1")
'Get the next empty row in the Excel worksheet
nNextEmptyRow = objExcelWorkSheet.Range("B" & objExcelWorkSheet.Rows.Count).End(xlUp).Row + 1
'Specify the corresponding values in the different columns
strColumnB = objMail.SenderName
strColumnC = objMail.SenderEmailAddress
strColumnD = objMail.Subject
strColumnE = objMail.ReceivedTime
'Add the vaules into the columns
objExcelWorkSheet.Range("A" & nNextEmptyRow) = nNextEmptyRow - 1
objExcelWorkSheet.Range("B" & nNextEmptyRow) = strColumnB
objExcelWorkSheet.Range("C" & nNextEmptyRow) = strColumnC
objExcelWorkSheet.Range("D" & nNextEmptyRow) = strColumnD
objExcelWorkSheet.Range("E" & nNextEmptyRow) = strColumnE
'Fit the columns from A to E
objExcelWorkSheet.Columns("A:E").AutoFit
'Save the changes and close the Excel file
objExcelWorkBook.Close SaveChanges:=True
End Sub
- หลังจากนั้นคุณควรเซ็นรหัสนี้
- ต่อจากนั้น restart Outlook เพื่อเปิดใช้งานโครงการ VBA ใหม่
- ในที่สุด จากนี้ไป อีเมลขาเข้าทั้งหมดจะถูกส่งออกโดยอัตโนมัติไปยังไฟล์ Excel ที่ตั้งไว้ล่วงหน้า ทันทีที่เข้าสู่โฟลเดอร์กล่องขาเข้าของคุณ ไฟล์ excel จะมีลักษณะดังรูปต่อไปนี้
หลีกเลี่ยงความเสียหายของข้อมูล PST ที่เจ็บปวด
Outlook ได้รับความชื่นชมอย่างมากเนื่องจากคุณสมบัติที่หลากหลาย แต่ก็ไม่ได้หมายความว่าจะเข้าใจผิดได้ มันยังคงสามารถถูกบุกรุกได้ตลอดเวลา ตัวอย่างเช่น หากคุณปิด Outlook อย่างไม่ถูกต้องบ่อยครั้ง มีโอกาสสูงที่ข้อมูล PST ของคุณจะตกอยู่ในอันตราย ในกรณีนี้ หากคุณต้องการ ซ่อม PST คุณต้องขอความช่วยเหลือจากเครื่องมือที่มีประสบการณ์เช่น DataNumen Outlook Repair.
บทนำผู้เขียน:
Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ กู้คืน mdf และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

