English
Inhalt
|
SAM |
| Legen Sie fest, mit welcher "Identität" Ihre Emails beim Empfänger erscheinen sollen. Mit SAM bestimmen Sie den Absender und Speicherort für Emails anhand von Regeln. |
Mit einer rekursiven Schleife durch alle Ordner können Sie die Inhalte sämtlicher Ordner lesen, ohne jeden Ordner gezielt über den Namen ansprechen zu müssen. Das ist z.B. dann nützlich, wenn Sie zur Programmierzeit gar nicht wissen, welche Ordner oder Ordnerstruktur es geben wird. Die folgenden Beispiele zeigen den grundlegenden Aufbau anhand von Emails. Was dann mit dem Ordnerinhalt angestellt wird, ist ausgelagert, so dass das Gerüst leicht wiederverwendet werden.
Public Sub LoopFolders(Folders As Outlook.Folders, _
ByVal Recursive As Boolean _
)
Dim Folder As Outlook.MAPIFolder
For Each Folder In Folders
DoAnything Folder
If Recursive Then
LoopFolders Folder.Folders, Recursive
End If
Next
End Sub
Private Sub DoAnything(Folder As Outlook.MAPIFolder)
Debug.Print Folder.Name
End Sub
|
OLKeeper |
| Der OLKeeper verhindert zuverlässig, dass Sie Microsoft Outlook unbeabsichtigt schlieÃen und so etwa wichtige Emails verpassen würden. |
Hier kommt eine praktische Anwendung für eine rekursive Schleife durch alle Ordner: Wir legen für einen auszuwählenden Ordner und seine Unterordner fest, dass nicht die Anzahl aller ungelesenen Elemente angezeigt werden soll, sondern die Anzahl aller Elemente.
Fügen Sie die Funktion 'ChangeFolderSettings' zu den obigen beiden hinzu. Beachten Sie die Variable 'EditSubfoldersOnly': Hierüber wird gesteuert, ob die Ãnderungen nur auf die gewählten Unterordner oder auch auf den Startordner selbst angewendet werden sollen.
Public Sub ChangeFolderSettings()
Dim Folder As Outlook.MapiFolder
Dim EditSubfoldersOnly As Boolean
'Startordner auswählen
Set Folder = Application.Session.PickFolder
'True ändert nur die Unterordner, False ändert auch den Startordner
EditSubfoldersOnly = False
If Not Folder Is Nothing Then
If EditSubfoldersOnly = False Then DoAnything Folder
LoopFolders Folder.Folders, True
End If
End Sub
In der Funktion 'DoAnything' ändert sich nur eine einzige Zeile:
Private Sub DoAnything(Folder As Outlook.MAPIFolder) 'Eigenschaft auf True setzen zeigt die Anzahl aller Elemente, 'False würde nur die Anzahl der ungelesenen Elemente anzeigen Folder.ShowItemCount = True End Sub
Dieses Beispiel erweitert die Schleife durch alle Ordner um eine Schleife durch alle Elemente jedes Ordners.
Public Sub LoopFolders(Folders As Outlook.Folders, _
ByVal Recursive As Boolean _
)
Dim Folder As Outlook.MAPIFolder
For Each Folder In Folders
LoopItems Folder.Items
If Recursive Then
LoopFolders Folder.Folders, Recursive
End If
Next
End Sub
Private Sub LoopItems(Items As Outlook.Items)
Dim obj As Object
For Each obj In Items
If TypeOf obj Is Outlook.MailItem
DoAnything obj
End If
Next
End Sub
Private Sub DoAnything(Item As Outlook.MailItem)
Debug.Print Item.Subject
End Sub
|
ReplyAll |
| Mit diesem Addin für Outlook erhalten Sie in verschiedenen Situationen eine Warnung, bevor Sie auf eine Email versehentlich allen anderen Empfängern antworten. |
Die obigen Beispiele mit dem OOM funktionieren mit allen Outlook-Versionen, sind aber bis einschlieÃlich Outlook 2003 relativ langsam. Viel schneller geht es da mit der CDO 1.21 Bibliothek.
Public Sub LoopFolders(Folders As MAPI.Folders, _
ByVal Recursive As Boolean _
)
Dim Folder As MAPI.Folder
For Each Folder In Folders
DoAnything Folder
If Recursive Then
LoopFolders Folder.Folders, Recursive
End If
Next
End Sub
Private Sub DoAnything(Folder As MAPI.Folder)
Debug.Print Folder.Name
End Sub
Hier die CDO-Variante zum Auflisten aller Ordnerinhalte.
Public Sub LoopFolders(Folders As MAPI.Folders, _
ByVal Recursive As Boolean _
)
Dim Folder As MAPI.Folder
For Each Folder In Folders
LoopItems Folder.Messages
If Recursive Then
LoopFolders Folder.Folders, Recursive
End If
Next
End Sub
Private Sub LoopItems(Items As MAPI.Messages)
Dim obj As Object
For Each obj In Items
If TypeOf obj Is MAPI.Message
DoAnything obj
End If
Next
End Sub
Private Sub DoAnything(Item As MAPI.Message)
Debug.Print Item.Subject
End Sub
|
Reporter |
| Mit dem Reporter erstellen Sie Berichte für Ihre Outlook Daten. Mit wenigen Klicks werden Werte aus Aufgaben, Terminen und dem Journal summiert. |