Deutsch
|
Reporter |
| VBOffice Reporter is an easy to use tool for data analysis and reporting in Outlook. A single click, for instance, allows you to see the number of hours planned for meetings the next month. |
Do you have an extensive folder structure and must manually open it at every startup of Outlook? Sometimes Outlook does that for you - and frequently it doesn't. This sample opens all the tree at startup, and it's a spectacle...
There's a variable 'ExpandDefaultStoreOnly' in the procedure 'ExpandAllFolders'. With the current value (True) only the Personal Folder gets expanded. If you want to expand all available mailboxes (data stores, email accounts) then set the variable = False.
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
|
Category-Manager |
| With Category-Manager you can group your Outlook categories, share them with other users, filter a folder by category, automatically categorize new emails, and more. You can use the Addin even for IMAP. |
This sample is similar to the fist one. It opens all mailboxes and the subfolders. However, you can exclude a single mailbox by adding the name of its top folder to the variable 'Name' in the 'ExpandAllFolders' procedure. (In this sample the data store 'Personal Folders' will be skipped.) If you want to exclude several mailboxes, data stores, or email accounts, then simply copy the entire line, and again fit the folder name.
If you are unsure what the name of the top folder you want to exlude is, then run the macro without skipping any folder (comment out the respective line with the folder name). The macro prints the entire folder hierarchy to the immediate window (ctrl+g).
Private m_SkipThisFolder As VBA.Collection
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 Name As String
Set m_SkipThisFolder = New VBA.Collection
'Skip these folders
Name = "Personal Folders": m_SkipThisFolder.Add Name, Name
Set Ns = Application.GetNamespace("Mapi")
Set CurrF = Application.ActiveExplorer.CurrentFolder
LoopFolders Ns.Folders, True, 1
DoEvents
Set Application.ActiveExplorer.CurrentFolder = CurrF
End Sub
Private Sub LoopFolders(Folders As Outlook.Folders, _
ByVal bRecursive As Boolean, _
ByVal Level As Long _
)
Dim F As Outlook.MAPIFolder
Dim Skip As Boolean
Dim Name As String
For Each F In Folders
Debug.Print String(Level - 1, "-") & F.Name
Skip = False
If Level = 1 Then
On Error Resume Next
Name = m_SkipThisFolder(F.Name)
If Err.Number = 0 Then
Skip = True
End If
On Error GoTo 0
End If
If Skip = False Then
Set Application.ActiveExplorer.CurrentFolder = F
DoEvents
If bRecursive Then
If F.Folders.Count Then
LoopFolders F.Folders, bRecursive, Level + 1
End If
End If
End If
Next
End Sub
|
OLKeeper |
| OLKeeper reliably prevents users from closing their Outlook window and thus possibly missing reminders or e-mails. |