Hur räknar man antalet mappar under angivet e-postkonto eller alla postlådor i Outlook?
Den här artikeln talar om att räkna antalet mappar under angivet e-postkonto eller alla postlådor i Outlook.
Räkna antalet mappar under angivet e-postkonto eller alla brevlådor med VBA-kod
Räkna antalet mappar under angivet e-postkonto eller alla brevlådor med VBA-kod
Du kan räkna antalet mappar under angivet e-postkonto eller alla brevlådor med VBA-koden nedan. Gör så här.
1. tryck på andra + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. I Microsoft Visual Basic för applikationer fönstret klickar Insert > Användarformulär. Se skärmdump:
3. Sätt sedan in två Alternativknappar och två Kommandoknappar in Användarformulär1, och ändra visningstexten på knapparna enligt nedanstående skärmdump.
4. Ändra namnet på den första alternativknappen till “opbCurAccount”Och ändra värde egendom till Sant. Se skärmdump:
5. Fortsätt ändra namnet på den andra alternativknappen till “opbAllAccounts”. Och ange sedan namnet på de två kommandoknapparna för att “cdbOk"Och"cdbAvbryt”Separat.
6. Dubbelklicka på en tom plats i UserForm1 och ersätt sedan den ursprungliga koden med nedanstående VBA-kod i fönstret Userform1 (Code).
VBA-kod: Räkna antalet mappar i Outlook
Option Explicit
'Update by Extendoffice 20180504
Public xRet As Boolean
Private Sub cdbCancel_Click()
xRet = False
UserForm1.Hide
End Sub
Private Sub cdbOk_Click()
xRet = True
UserForm1.Hide
End Sub
7. Click Insert > Module. Then copy below VBA code into the Module window.
VBA code: Count number of folders in Outlook
Function GetSubFolderCount(ParentFolder As Folder) As Long
Dim xSubFolders As Folders
Dim xCurFolder As Outlook.Folder
Dim xFoldersCount As Integer
On Error Resume Next
Set xSubFolders = ParentFolder.Folders
If xSubFolders.Count > 0 Then
Set xCurFolder = xSubFolders.GetFirst
While TypeName(xCurFolder) = "MAPIFolder"
xFoldersCount = xFoldersCount + GetSubFolderCount(xCurFolder)
Set xCurFolder = xSubFolders.GetNext
Wend
GetSubFolderCount = xFoldersCount + xSubFolders.Count
Else
GetSubFolderCount = 0
End If
End Function
Sub CountFoldersInOutlook()
Dim xNameSpace As NameSpace
Dim xFolder As Folder
Dim xAllFoldersCount As Long
On Error Resume Next
UserForm1.Show
If UserForm1.xRet Then
Set xNameSpace = Outlook.Application.Session
If UserForm1.opbCurAccount.Value Then
Set xFolder = Outlook.Application.ActiveExplorer.CurrentFolder.Store.GetRootFolder
xAllFoldersCount = GetSubFolderCount(xFolder)
ElseIf UserForm1.opbAllAccounts.Value Then
For Each xFolder In xNameSpace.Folders
xAllFoldersCount = xAllFoldersCount + GetSubFolderCount(xFolder)
Next
End If
Else
Exit Sub
End If
MsgBox "Total Folders: " & xAllFoldersCount, vbInformation + vbOKOnly, "Kutools for Outlook"
End Sub
8. tryck på F5 för att köra koden. Då en Användarformulär1 dialogrutan dyker upp, för att räkna antalet mappar i det aktuella kontot, välj KURANTKONTO alternativet och klicka på OK knapp. För att räkna antalet mappar i alla brevlådor, välj Alla konton alternativet och klicka sedan på OK knapp. Se skärmdump:
9. Sedan a Kutools för Outlook dialogrutan dyker upp för att berätta hur många mappar som finns i det aktuella kontot eller alla brevlådor enligt skärmbilden nedan. Vänligen klicka på OK knapp.
Anmärkningar: Alla dolda mappar som mappen Conversation Action Settings och Quick Step Settings-mappen ingår i mappräkningen.
Relaterade artiklar:
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!