คำขอของคุณที่จะสอนให้คุณเขียนแมโครอาจกว้างเกินไป ดังนั้นนี่คือคำตอบสำหรับวิธีการขยายโฟลเดอร์ทั้งหมด
http://www.msoutlook.info/question/595 และ
http://vboffice.net/sample.html?lang=th&mnu=2&smp=57&cmd=showitem
คุณอาจตัดสินใจที่จะขยายโฟลเดอร์ทั้งหมดเมื่อจำเป็นไม่จำเป็นต้องเริ่มทำงาน
"ตัวอย่างนี้เปิดต้นไม้ทั้งหมดเมื่อเริ่มต้นและมันเป็นปรากฏการณ์ ...
มีตัวแปร 'ExpandDefaultStoreOnly' ในขั้นตอน 'ExpandAllFolders' ด้วยค่าปัจจุบัน (จริง) เฉพาะโฟลเดอร์ส่วนบุคคลที่ได้รับการขยาย หากคุณต้องการขยายกล่องจดหมายที่มีอยู่ทั้งหมด (คลังข้อมูล Exchange) ให้ตั้งค่าตัวแปร = False "
http://vboffice.net/sample.html?lang=en&mnu=2&smp=57&cmd=showitem
Private Sub Application_Startup()
ExpandAllFolders
End Sub
Private Sub ExpandAllFolders()
On Error Resume Next
Dim Ns As Outlook.NameSpace
Dim Folders As Outlook.Folders
Dim CurrF As Outlook.MAPIFolder
Dim F As Outlook.MAPIFolder
Dim ExpandDefaultStoreOnly As Boolean
ExpandDefaultStoreOnly = True
Set Ns = Application.GetNamespace("Mapi")
Set CurrF = Application.ActiveExplorer.CurrentFolder
If ExpandDefaultStoreOnly = True Then
Set F = Ns.GetDefaultFolder(olFolderInbox)
Set F = F.Parent
Set Folders = F.Folders
LoopFolders Folders, True
Else
LoopFolders Ns.Folders, True
End If
DoEvents
Set Application.ActiveExplorer.CurrentFolder = CurrF
End Sub
Private Sub LoopFolders(Folders As Outlook.Folders, _
ByVal bRecursive As Boolean)
Dim F As Outlook.MAPIFolder
For Each F In Folders
Set Application.ActiveExplorer.CurrentFolder = F
DoEvents
If bRecursive Then
If F.Folders.Count Then
LoopFolders F.Folders, bRecursive
End If
End If
Next
End Sub