| | Awarded by Microsoft since 2005: |  |
| | VBOffice Info | | Besucher | 1408878 | | Aufrufe | 5188448 |
| |
|
| |
| Autor: Michael Bauer | Homepage | | Datum: 17.10.2008 | Zugriffe: 17243 | | | | Beschreibung
Kategorien eignen sich hervorragend, um festgelegte Aktionen auszulösen. Da beliebig viele Kategorien erstellt werden können, lassen sich damit auch beliebig viele Aktionen steuern.
Das erste Beispiel verschiebt eine Email in einen bestimmten Unterordner des Posteingangs, sobald eine ganz bestimmte Kategorie zugewiesen wird. Weitere Kategorien, die der Email auch zugewiesen sein können, werden ignoriert. Sie müssen nur zwei Variablen (in der Prozedur 'Mail_PropertyChange' gekennzeichnet mit 'Customize) anpassen: Bestimmen Sie die zu suchende Kategorie und den Namens des Unterordners.
Das zweite Beispiel verschiebt die Email in einen Unterordner des Posteingangs, der genauso heißt wie die zugewiesene Kategorie.
(Kopieren Sie den Code ins Modul "DieseOutlookSitzung". Die Prozedur "Mail_PropertyChange" darf nur einmal in das Modul kopiert werden, entweder Sample #1 für das erste Beispiel oder Sample #2.) |
Private WithEvents Explorer As Outlook.Explorer
Private WithEvents Mail As Outlook.MailItem
Private Sub Application_Startup()
Dim Ns As Outlook.NameSpace
Set Ns = Application.GetNamespace("MAPI")
Set Explorer = Application.ActiveExplorer
End Sub
Private Sub Explorer_SelectionChange()
Dim obj As Object
Dim Sel As Outlook.Selection
Set Mail = Nothing
Set Sel = Explorer.Selection
If Sel.Count > 0 Then
Set obj = Sel(1)
If TypeOf obj Is Outlook.MailItem Then
Set Mail = obj
End If
End If
End Sub
Private Sub Mail_PropertyChange(ByVal Name As String)
Dim Ns As Outlook.NameSpace
Dim SubfolderName As String
Dim Inbox As Outlook.MAPIFolder
Dim Subfolder As Outlook.MAPIFolder
Dim i&
Dim Cats As String
Dim arrCats() As String
Dim FindCategory As String
FindCategory = " (Actionlist)"
SubfolderName = "test"
Set Ns = Application.GetNamespace("MAPI")
Set Inbox = Ns.GetDefaultFolder(olFolderInbox)
Set Subfolder = Inbox.Folders(SubfolderName)
If Subfolder.EntryID = Mail.Parent.EntryID Then
Exit Sub
End If
FindCategory = LCase$(FindCategory)
If Name = "Categories" Then
Cats = Mail.Categories
If Len(Cats) = 0 Then Exit Sub
Cats = Replace(Cats, ",", ";")
arrCats = Split(Cats, ";")
For i = 0 To UBound(arrCats)
Cats = LCase$(arrCats(i))
If Cats = FindCategory Then
Mail.Move Subfolder
Set Mail = Nothing
Exit For
End If
Next
End If
End Sub
Private Sub Mail_PropertyChange(ByVal Name As String)
Dim Ns As Outlook.NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim Subfolder As Outlook.MAPIFolder
Dim SubfolderName As String
If Name = "Categories" Then
Set Ns = Application.GetNamespace("MAPI")
Set Inbox = Ns.GetDefaultFolder(olFolderInbox)
SubfolderName = Mail.Categories
If Len(SubfolderName) = 0 Then Exit Sub
Set Subfolder = Inbox.Folders(SubfolderName)
If Subfolder.EntryID <> Mail.Parent.EntryID Then
Mail.Move Subfolder
Set Mail = Nothing
End If
End If
End Sub
|
| | |
| | |  | ReplyAll warnt Sie, bevor Sie unbeabsichtigt allen Empfängern
einer E-Mail antworten oder wenn Sie ein vertraulicher BCC-Empfänger der E-Mail ... [weiter] |
| | |  | Blitzschneller Zugriff auf die Hauptkategorienliste, gemeinsame Kategorien im Netzwerk, eine Erinnerungsfunktion ... [weiter] |
| | |  | SAM legt automatisch Absender, Signatur und Speicherort für gesendete Mails fest, z.B. anhand der ... [weiter] |
| | |  | OLKeeper verhindert zuverlässig, dass Mitarbeiter Outlook schließen und dadurch Termine oder E-Mails ... [weiter] |
| | |
|