VBOffice

Ordner für gesendete Email festlegen

Hier finden Sie mehrere Beispiele, um gesendete Emails in festgelegten Ordnern abzulegen

Zuletzt geändert: 27.10.2017 | Aufrufe: 112.778  | #54
◀ Vorheriges Beispiel Nächstes Beispiel ▶

Inhalt

OLKeeper OLKeeper
Der OLKeeper verhindert zuverlässig, dass Sie Microsoft Outlook unbeabsichtigt schließen und so etwa wichtige Emails verpassen würden.

Alle Emails in einem Unterordner des Posteingangs ablegen

Standardmäßig werden alle Mails im Ordner 'Gesendete Objekte' gespeichert. Über den Optionendialog einer geöffneten Mail können Sie auch manuell eine davon abweichende Einstellung vornehmen. Wenn Sie aber grundsätzlich alle Mails in einem vom Standard abweichenden Ordner speichern wollen, dann geht das nur mit ein paar Zeilen Code.

Das erste Beispiel zeigt, wie alle Mails in einem Unterordner des Posteingangs namens 'Ablage' gespeichert werden. Ausgenommen davon sind die Mails, die nach dem Senden gelöscht werden sollen.


tip  So fügen Sie Makros in Outlook ein
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
  If TypeOf Item Is Outlook.MailItem Then
    SaveSentMail Item
  End If
End Sub

Private Sub SaveSentMail(Item As Outlook.MailItem)
  Dim Inbox As Outlook.MAPIFolder
  Dim Subfolder As Outlook.MAPIFolder

  If Item.DeleteAfterSubmit = False Then
    Set Inbox = Application.Session.GetDefaultFolder(olFolderInbox)
    Set Subfolder = Inbox.Folders("Ablage")
    Set Item.SaveSentMessageFolder = Subfolder
  End If
End Sub

Manuelle Ordnerauswahl

Dieses Makro zeigt für jede zu sendende Nachricht einen Dialog zur manuellen Auswahl des Ordners an. Drücken Sie im Dialog einfach auf Abbrechen, wenn die Nachricht im Standardordner gespeichert werden soll.

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
  If TypeOf Item Is Outlook.MailItem Then
    SaveSentMail Item
  End If
End Sub

Private Sub SaveSentMail(Item As Outlook.MailItem) 
  Dim F As Outlook.MAPIFolder

  If Item.DeleteAfterSubmit = False Then
    Set F = Application.Session.PickFolder
    If Not F Is Nothing Then
      Set Item.SaveSentMessageFolder = F
    End If
  End If
End Sub
SAM 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.

Ablage in Abhängigkeit vom Sendekonto

Das dritte Beispiel prüft den Namen des Sendekontos und speichert die E-Mail je nach Konto in verschiedenen, vorher festgelegten Unterordnern des Posteingangs. Fügen Sie beliebig viele Case-Zweige hinzu, und tragen Sie Ihre Kontonamen und die jeweiligen Ordnernamen ein.

Dieses Beispiel funktioniert so erst ab Outlook 2007.

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
  If TypeOf Item Is Outlook.MailItem Then
    SaveSentMail Item
  End If
End Sub

Private Sub SaveSentMail(Item As Outlook.MailItem)
  Dim Inbox As Outlook.Folder
  Dim SubFolder As Outlook.Folder

  If Item.DeleteAfterSubmit = False Then
    Set Inbox = Application.Session.GetDefaultFolder(olFolderInbox)

    Select Case LCase$(Item.SendUsingAccount.DisplayName)
    Case "Konto_1"
      Set SubFolder = Inbox.Folders("Ablage_1")
    Case "Konto_2"
      Set SubFolder = Inbox.Folders("Ablage_2")
    End Select

    If Not SubFolder Is Nothing Then
      Set Item.SaveSentMessageFolder = SubFolder
    End If
  End If
End Sub
OLKeeper OLKeeper
Der OLKeeper verhindert zuverlässig, dass Sie Microsoft Outlook unbeabsichtigt schließen und so etwa wichtige Emails verpassen würden.
email  Senden Sie eine Nachricht