2016-11-01 2 views
1

Ich würde gerne wissen, ob ich Ordner und Unterordner in sharedmailbox zählen kann;Zähle Ordner und Unterordner in Sharedmailbox

Hier ist ein Code, den ich verwende, aber es funktioniert nur für meine Standard-Mail-Konto. die Anzahl der Unterordner im Ordner "Test", um von meinem freigegebenen Postfach Namen (AJ47 BOX)

Private Sub CommandButton1_Click() 

Dim outapp As Outlook.Application 
Set outapp = CreateObject("Outlook.Application") 
Dim olNs As Outlook.NameSpace 
Set olNs = outapp.GetNamespace("MAPI") 
Dim olFolder As Outlook.MAPIFolder 


TextBox1 = GetSubFolderCount(olNs.GetDefaultFolder(olFolderInbox).Folders("Tmp")) 


End Sub 

Private Function GetSubFolderCount(objParentFolder As MAPIFolder) As Long 

Dim currentFolders As Folders 
Dim fldCurrent As MAPIFolder 

Set currentFolders = objParentFolder.Folders 
If currentFolders.Count > 0 Then 
    Set fldCurrent = currentFolders.GetFirst 
    While Not fldCurrent Is Nothing 
     TempFolderCount = TempFolderCount + GetSubFolderCount(fldCurrent) 
     Set fldCurrent = currentFolders.GetNext 
    Wend 
    GetSubFolderCount = TempFolderCount + currentFolders.Count 
Else 
    GetSubFolderCount = 0 
End If 



End Function 

Antwort

1

Verwenden GetSharedDefaultFolder Method

Beispiel

Dim olRecip As Recipient 
Set olRecip = olNs.CreateRecipient("[email protected]") '// Owner's Name or email address 

TextBox1 = GetSubFolderCount(olNs.GetSharedDefaultFolder(olRecip, olFolderInbox).Folders("Test")) 
+0

Thank ist es eine Möglichkeit, es zu ändern, Sie es perfekt funktioniert, muss ich etwas wissen, wenn ich nur die Unterordner eines Unterordners erhalten möchte, mache ich den gleichen Prozess? –

+0

Ursache jetzt funktioniert es nur, wenn ich den Namen des Hauptordners eingeben, habe ich versucht, den Namen des Unterordners einzugeben, ich habe diesen Fehler ("Objekt unterstützt diese Eigenschaft oder Methode nicht") 'TextBox2 = GetSubFolderCount (olNs.GetSharedDefaultFolder (olRecip, olFolderInbox) .Folders ("actings")) ' actings befindet sich in 'Acting Artikel' in Aufgaben im Posteingang "Inbox/taks/amtierende Artikel/actings" dank @ Om3r –

+0

@ RiadhSaïd wenig verwirrt - :(? Wenn der Ordner der Unterordner von '" Test "' ist, dann versuche '(olRecip, olFolderInbox) .Folder (" Test "). Ordner (" ACTINGS "))' wenn du mit Aufgabenordner arbeitest, musst du das tun Ersetzen Sie "olFolderInbox mit olFolderTasks" – 0m3r

Verwandte Themen