เคล็ดลับ: ภาษาอื่น ๆ ได้รับการแปลโดย Google คุณสามารถเยี่ยมชม English รุ่นของลิงก์นี้
เข้าสู่ระบบ
x
or
x
x
สมัครสมาชิก
x

or

วิธีการส่งออกและพิมพ์รายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดใน Outlook?

โดยทั่วไปคุณสามารถกดได้ Ctrl + 6 คีย์เพื่อดูรายการโฟลเดอร์ทั้งหมดในบานหน้าต่างนำทางใน Outlook อย่างไรก็ตามคุณไม่สามารถพิมพ์รายการโฟลเดอร์ได้ บทความนี้จะแนะนำสคริปต์ VBA สองรายการเพื่อส่งออกและพิมพ์รายการโฟลเดอร์ทั้งหมดและโฟลเดอร์ย่อยใน Outlook

คลิกเดียวเพื่อแสดงจำนวนรวมของรายการในโฟลเดอร์ทั้งหมดในบานหน้าต่างนำทางใน Outlook

โดยปกติ Outlook จะแสดงจำนวนรายการที่ยังไม่ได้อ่านในแต่ละโฟลเดอร์ในบานหน้าต่างนำทาง แต่สำหรับ Kutools สำหรับ Outlook โฟลเดอร์ทั้งหมดแสดงจำนวนรายการทั้งหมด ช่วยให้คุณสามารถแสดงจำนวนรวมของรายการในโฟลเดอร์ทั้งหมดได้ด้วยคลิกเดียว คลิกเพื่อทดลองใช้ฟรี 60 วันโดยไม่มีข้อ จำกัด !
โฟลเดอร์ทั้งหมดแสดงจำนวนทั้งหมดที่ 9.00

Kutools สำหรับ Outlook: 100 + เครื่องมือขั้นสูงใหม่ สำหรับ Outlook
แท็บ Office: เปิดใช้งานการแก้ไขแบบแท็บและเรียกดูใน Officeเช่นเดียวกับ Chrome, Firefox, IE 8 / 9 / 10
เมนูคลาสสิก: นำเมนูเก่าและแถบเครื่องมือกลับ ไปที่ Office 2007, 2010, 2013, 2016 และ 2019

ลูกศรสีฟ้าด้านขวา ส่งออกและพิมพ์รายการโฟลเดอร์ Outlook ทั้งหมดและโฟลเดอร์ย่อยในอีเมลใหม่

วิธีนี้จะแนะนำ VBA เพื่อส่งออกรายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดในบัญชีอีเมลที่ระบุไปยังอีเมลใหม่ใน Outlook จากนั้นคุณสามารถพิมพ์รายการโฟลเดอร์ได้อย่างง่ายดาย

1 กด อื่น ๆ + F11 คีย์เพื่อเปิดหน้าต่าง Microsoft Visual Basic for Applications

2 คลิก สิ่งที่ใส่เข้าไป > โมดูลแล้ววางรหัส VBA ด้านล่างลงในหน้าต่างโมดูลใหม่

VBA: ส่งออกรายการโฟลเดอร์และโฟลเดอร์ย่อยในอีเมลใหม่ใน Outlook

Public gFolders As String

Public Sub GetFolderNames()
Dim oSession As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oNewMail As Outlook.mailItem

Set oSession = Outlook.Application.GetNamespace("MAPI")
Set oFolder = oSession.PickFolder

If (oFolder Is Nothing) Then Exit Sub

ProcessFolder oFolder

Set oNewMail = Application.CreateItem(olMailItem)
oNewMail.Body = gFolders
oNewMail.Display

gFolders = ""
End Sub

Sub ProcessFolder(CurrentFolder As Outlook.MAPIFolder)

Dim i As Long
Dim oSubFolder As Outlook.MAPIFolder
Dim oFolder As Outlook.MAPIFolder
Dim sFolderPaths As String

    For i = CurrentFolder.Folders.Count To 1 Step -1
Set oFolder = CurrentFolder.Folders(i)

sFolderPaths = oFolder.FolderPath
gFolders = gFolders & vbCrLf & sFolderPaths & " " & oFolder.Items.Count
Next

For Each oSubFolder In CurrentFolder.Folders
If oSubFolder.Name <> "Deleted Items" Then
ProcessFolder oSubFolder
End If

Next

End Sub

3 กด F5 สำคัญในการเรียกใช้ VBA นี้

4 ในกรอบเปิดโฟลเดอร์เลือกโฟลเดอร์ให้เลือกบัญชีอีเมลที่มีรายการโฟลเดอร์ที่คุณต้องการพิมพ์แล้วคลิกที่ OK ปุ่ม. ดูภาพหน้าจอ:

5 และตอนนี้รายการโฟลเดอร์ของบัญชีอีเมลที่ระบุจะถูกคัดลอกไปยังอีเมลใหม่ดังที่แสดงไว้ด้านล่างนี้ กรุณาคลิก เนื้อไม่มีมัน > พิมพ์ เพื่อพิมพรายการโฟลเดอรที่คัดลอก

6 หลังจากพิมพ์โปรดปิดอีเมลใหม่โดยไม่บันทึก


ลูกศรสีฟ้าด้านขวา ส่งออกและพิมพ์รายการโฟลเดอร์ Outlook ทั้งหมดที่มีโฟลเดอร์ย่อยใน Notepad

วิธีนี้จะแนะนำ VBA เพื่อส่งออกรายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดในบัญชีอีเมลที่ระบุจาก Outlook ไป Notepad จากนั้นคุณสามารถพิมพ์รายการโฟลเดอร์ Outlook ใน Notepad ได้อย่างง่ายดาย

1 กด อื่น ๆ + F11 คีย์เพื่อเปิดหน้าต่าง Microsoft Visual Basic for Applications

2 คลิก สิ่งที่ใส่เข้าไป > โมดูลแล้ววางรหัส VBA ด้านล่างลงในหน้าต่างโมดูลใหม่

VBA: ส่งออกรายการโฟลเดอร์ Outlook และโฟลเดอร์ย่อยทั้งหมดจาก Outlook ไปยัง Notepad

Dim gFileName, gCreateTree, gBase

Public Sub ExportFolderTree()
Dim objOutlook
Dim F, Folders
Dim Result

  Set objOutlook = CreateObject("Outlook.Application")

  Set F = objOutlook.Session.PickFolder

If Not F Is Nothing Then
Set Folders = F.Folders

    Result = MsgBox("Do you want to create tree?", vbYesNo + vbDefaultButton2 + vbApplicationModal, "Output Folder Tree")
If Result = 6 Then
gCreateTree = True
Else
gCreateTree = False
End If

    gFileName = GetDesktopFolder() & "\Outlook-Folders.txt"
gBase = Len(F.FolderPath) - Len(Replace(F.FolderPath, "\", "")) + 1

    WriteToATextFile (CreateFolderTree(F.FolderPath, F.Name))

LoopFolders Folders

Set F = Nothing
Set Folders = Nothing
Set objOutlook = Nothing
End If
End Sub

Private Function GetDesktopFolder()
Dim objShell
Set objShell = CreateObject("WScript.Shell")
GetDesktopFolder = objShell.SpecialFolders("Desktop")
Set objShell = Nothing
End Function

Private Sub LoopFolders(Folders)
Dim F

For Each F In Folders
WriteToATextFile (CreateFolderTree(F.FolderPath, F.Name))
LoopFolders F.Folders
Next
End Sub

Private Sub WriteToATextFile(OLKfoldername)
Dim objFSO, objTextFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(gFileName, 8, True)
objTextFile.WriteLine (OLKfoldername)
objTextFile.Close
Set objFSO = Nothing
Set objTextFile = Nothing
End Sub

Private Function CreateFolderTree(OLKfolderpath, OLKfoldername)
If gCreateTree = False Then
CreateFolderTree = Mid(OLKfolderpath, 3)
Else
Dim i, x, OLKprefix
i = Len(OLKfolderpath) - Len(Replace(OLKfolderpath, "\", ""))

    For x = gBase To i
OLKprefix = OLKprefix & "-"
Next

CreateFolderTree = OLKprefix & OLKfoldername
End If
End Function

3 กด F5 สำคัญในการเรียกใช้ VBA นี้ ถัดไปในช่องเปิดเลือกโฟลเดอร์ให้เลือกบัญชีอีเมลที่มีรายการโฟลเดอร์ที่คุณต้องการส่งออกและพิมพ์และคลิกที่ OK ปุ่ม. ดูภาพหน้าจอ:

4 จากนั้นกรอบข้อความโฟลเดอร์ต้นทางจะมาถึง โปรดคลิกที่ ใช่ หรือ ไม่ ตามที่คุณต้องการ

และตอนนี้เป็นไฟล์ข้อความชื่อว่า แนวโน้มโฟลเดอร์ จะถูกสร้างขึ้นและบันทึกไว้ในเดสก์ท็อปของคุณตามที่แสดงไว้ด้านล่าง

5 ดับเบิลคลิกเพื่อเปิดไฟล์ข้อความใหม่จากนั้นคลิกที่ เนื้อไม่มีมัน > พิมพ์ เพื่อพิมพ์รายการที่ส่งออกของโฟลเดอร์ outlook


ลูกศรสีฟ้าด้านขวาบทความที่เกี่ยวข้อง



Kutools สำหรับ Outlook

มากกว่าฟังก์ชั่นขั้นสูง 100 สำหรับ Outlook 2010, 2013, 2016, 2019 และ 365

screen shot kutools สำหรับ outlook เล็ก ๆ สำหรับแบนเนอร์ 201812

คุณสมบัติอื่น ๆ | ดาวน์โหลดฟรี | เพียง $ 39.00 สำหรับหลายร้อยฟังก์ชัน

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.