VBOffice

Ordnerliste aufklappen

Mit diesem Makro expandieren Sie das komplette Ordnerverzeichnis in Outlook.

Zuletzt geändert: 31.07.2007 | Aufrufe: 48.377  | #57
◀ Vorheriges Beispiel Nächstes Beispiel ▶
Reporter Reporter
Mit dem Reporter erstellen Sie Berichte für Ihre Outlook Daten. Mit wenigen Klicks werden Werte aus Aufgaben, Terminen und dem Journal summiert.

Haben Sie eine umfangreiche Ordnerhierarchie und müssen bei jedem Outlookstart von Hand die ganze Liste aufklappen? Manchmal macht Outlook das selbst - und häufig nicht. Dieses Beispiel öffnet den ganzen Baum beim Start und ist obendrein ein Schauspiel...

In der Prozedur 'ExpandAllFolders' gibt es die Variable 'ExpandDefaultStoreOnly'. In der aktuellen Einstellung (True) wird nur der Persönliche Ordner expandiert. Wenn alle vorhandenen Postfächer (Archiv, Exchange) geöffnet werden sollen, dann setzen Sie die Variable = False.


tip  So fügen Sie Makros in Outlook ein
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
ReplyAll ReplyAll
Mit diesem Plugin erhalten Sie in verschiedenen Situationen eine Warnung, bevor Sie auf eine Email versehentlich allen anderen Empfängern antworten.
email  Senden Sie eine Nachricht