Note: The other languages of the website are Google-translated. Back to English

كيفية حساب عدد المجلدات الفرعية ضمن مجلد معين في Outlook؟

لنفترض أنك قمت بإنشاء بعض المجلدات ضمن مجلد جذر. الآن تريد معرفة عدد المجلدات الفرعية الموجودة ضمن المجلد الجذر ، كيف يمكنك القيام بذلك؟ فقط قم بتوسيع المجلد الجذر وعد جميع المجلدات الفرعية يدويًا واحدًا تلو الآخر؟ ستقدم لك هذه المقالة طريقة سهلة لتحقيق ذلك.

عد عدد المجلدات الفرعية برمز VBA


عد عدد المجلدات الفرعية برمز VBA

يمكن أن تساعدك التعليمات البرمجية لـ VBA التالية في حساب عدد المجلدات الفرعية الموجودة ضمن مجلد جذر معين في Outlook. الرجاء القيام بما يلي.

1. اضغط على قديم + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. في ال ميكروسوفت فيسوال باسيك للتطبيقات الإطار، انقر فوق إدراج > وحدة. ثم انسخ والصق رمز فبا أدناه في نافذة الكود.

رمز فبا: عد عدد المجلدات الفرعية ضمن مجلد معين في Outlook

Sub CountSubFldsUnderRootFolder()
Dim xRootFolder As Folder
Dim xFolderCount As Long
Dim xFolder As Object
On Error Resume Next
'Set xRootFolder = Outlook.Application.ActiveExplorer.CurrentFolder
Set xRootFolder = Outlook.Application.Session.PickFolder
If TypeName(xRootFolder) = "Nothing" Then Exit Sub
If xRootFolder.Folders.Count < 1 Then
    MsgBox "No subfolders under " & Chr(34) & xRootFolder.Name & Chr(34) & ".", vbInformation, "Kutools for Outlook"
    Exit Sub
End If
For Each xFolder In xRootFolder.Folders
    If xFolder.Name <> "Conversation Action Settings" And xFolder.Name <> "Quick Step Settings" Then
        xFolderCount = xFolderCount + 1
        Call ProcessFolders(xFolder, xFolderCount)
    End If
Next
MsgBox xFolderCount & " subfolders under " & Chr(34) & xRootFolder.Name & Chr(34) & ".", vbInformation, "Kutools for Outlook"
End Sub

Sub ProcessFolders(SubFolder As MAPIFolder, Num As Long)
Dim xSubFolder As MAPIFolder
On Error Resume Next
Num = Num + SubFolder.Folders.Count
For Each xSubFolder In SubFolder.Folders
    Call ProcessFolders(xSubFolder, Num)
Next
End Sub

3. Press the F5 key to run the code.

4. In the opening Select Folder dialog box, select a folder you will count its subfolders, and then click the OK button. See screenshot:

5. Then a Kutools for Outlook dialog box pops up to tell you how many subfolders exist in the specified folder. See screenshot:


Related articles:


Kutools for Outlook - Brings 100 Advanced Features to Outlook, and Make Work Much Easier!

  • Auto CC/BCC by rules when sending email; Auto Forward Multiple Emails by custom; Auto Reply without exchange server, and more automatic features...
  • BCC Warning - show message when you try to reply all if your mail address is in the BCC list; Remind When Missing Attachments, and more remind features...
  • Reply (All) With All Attachments in the mail conversation; Reply Many Emails in seconds; Auto Add Greeting when reply; Add Date into subject...
  • Attachment Tools: Manage All Attachments in All Mails, Auto Detach, Compress All, Rename All, Save All... Quick Report, Count Selected Mails...
  • Powerful Junk Emails by custom; Remove Duplicate Mails and Contacts... Enable you to do smarter, faster and better in Outlook.
shot kutools outlook kutools tab 1180x121
shot kutools outlook kutools plus tab 1180x121
 
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Ich weiß gar nicht, ob ich hier auch Fragen stellen kann zu gefundenen Makros?Also mache ich es einfach mal, ok?
Das Makro zum Ermitteln der Anzahl von Unterordnern habe ich für meinen Zweck, nämlich in Ordnereigenschaften einzustellen, dass alle Elemente im Ordner angezeigt werden sollen im Verzeichnisbaum links in Outlook habe ich jetzt mal so für mich verändert.
Sub PrivateOrdnerAlleMailsAnzeigen()
Dim xRootFolder As Folder
Dim xFolderCount As Long
Dim xFolder As Object
On Error Resume Next

Neu:
Set xRootFolder = Outlook.Application.Session.PickFolder
If TypeName(xRootFolder) = "Nothing" Then Exit Sub
If xRootFolder.Folders.Count < 1 Then
MsgBox "No subfolders under " & Chr(34) & xRootFolder.Name & Chr(34) & ".", vbInformation, "Kutools for Outlook"
Exit Sub
End If
xRootFolder.ShowItemCount = olShowTotalItemCount
For Each xFolder In xRootFolder.Folders
xFolder.ShowItemCount = olShowTotalItemCount
xFolderCount = xFolderCount + 1
Next
MsgBox xFolderCount & " Ordner konfiguriert.", vbInformation, "Anzeigeart Elemente im Ordner"
xFolderCount = 1
GoTo Neu
End Sub


Das funktioniert auch gut aber es fehlt noch etwas, das ich nicht wirklich eingebaut bekomme.
Dabei geht es darum, dass einige Ordner unter dem Ordner, der ausgewählt wird, noch Unterordner haben, die im Ablauf aber nicht mit bearbeitet werden.

Deshalb der Weg jetzt über Goto Neu und dann Neuauswahl der Unterordner und zuletzt mit manuellem Abbrechen beenden.

Wenn mal bitte jemand drüber schauen und eventuell dafür eine automatische Lösung hätte, wäre ich Euch dankbar.

Gruß Wolfgang
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations