Mails per Makro verschieben
Hallo zusammen,
bei uns werden die Mails des Ordners "gesendete Objekte" nach 45 Tagen automatisch aufgeräumt. Ich möchte dies umgehen indem ich mit einem Makro meinen Ordner "gesendete Objekte" wiefolgt bearbeiten möchte:
1. zuerst markiere ich die gewünschten Mails
2. alle markierten Objekte soll das Makro in den Ordner "Meine gesendeten Mails" verschieben
3. alle NICHT markeirten Mails soll es in den Ordner "gelöschte Objekte" verschieben oder diese Löschen (so gelangen sie ja auch in den Ordner "gelöschte Objekte")
der Ordner "gelöschte Objekte" wird bei Beendigung von Outlook automatisch gelöscht (entsprechendes Häkchen gesetzt).
Kann mir jemand helfen? Besten Dank im Voraus
Antwort schreiben
Antwort 1 von embo vom 05.11.2020, 20:39 Options
Antwort 2 von Massaraksch vom 05.11.2020, 20:55 Options
Ich weiß ja nicht, ob sich der Aufwand für die Programmierung eines Makros lohnt. Wenn du die Mails eh schon manuell markierst, dann kannst du sie auch gleich mit der Maus verschieben.
Massaraksch
Antwort 3 von embo vom 05.11.2020, 21:05 Options
Hab ich früher auch so gemacht, manuell ist aber irgendwann nervig, wenn es bessere Lösungen gibt, die das 'nebenbei' machen.
Ist halt auch abhängig von der Anzahl Mails je Tag.
Gruß embo
Antwort 4 von Urs vom 06.11.2020, 13:38 Options
Habe was gefunden und entsprechend in Outllok eingefügt. Danke an Peter von Outlook-stuff.com
************************************************
Option Explicit
Public Function SentFolder(ByRef Item As Object) As Boolean
'=====================================================================
' Zeigt beim Senden einer E-Mail den Outlook®-Auswahlordner an um die
' E-Mail bei Bedarf in einen anderen Ordner als "Gesendete Objekte"
' abzulegen.
' (c) 2007-2008 Peter Marchert - http://www.outlook-stuff.com
'=====================================================================
Dim objFolder As Object
'---------------------------------------------------------------------
' Schleife wird solange durchlaufen, bis ein gültiger Ordner ausgewählt
' oder die Auswahl abgebrochen wird.
'---------------------------------------------------------------------
Do
'-----------------------------------------------------------------
' Ordnerauswahl anzeigen
'-----------------------------------------------------------------
Set objFolder = Nothing
Set objFolder = Outlook.Session.PickFolder
'-----------------------------------------------------------------
' Wurde die Auswahl abgebrochen?
'-----------------------------------------------------------------
If objFolder Is Nothing Then
SentFolder = True
Exit Function
End If
'-----------------------------------------------------------------
' Falscher Ordnertyp ausgewählt?
'-----------------------------------------------------------------
If InStr(objFolder.DefaultMessageClass, "IPM.Note") = 0 Then
Set objFolder = Nothing
If MsgBox("Bitte wählen Sie einen Ordner für E-Mails aus." _
, vbCritical + vbOKCancel, "Ablage auswählen") = vbCancel Then
SentFolder = True
Exit Function
End If
End If
'-----------------------------------------------------------------
' Der Posteingang eignet sich nicht als Ablage
'-----------------------------------------------------------------
If objFolder = Outlook.Session.GetDefaultFolder(olFolderInbox) Then
If MsgBox("Möchten Sie wirklich die gesendete E-Mail im Posteingang ablegen?" _
, vbExclamation + vbYesNo + vbDefaultButton2, "Ablage auswählen") = vbNo Then
Set objFolder = Nothing
End If
End If
Loop While objFolder Is Nothing
'---------------------------------------------------------------------
' Speicherort der E-Mail festlegen
'---------------------------------------------------------------------
Set Item.SaveSentMessageFolder = objFolder
'---------------------------------------------------------------------
' Referenz auf Ordner löschen
'---------------------------------------------------------------------
Set objFolder = Nothing
End Function
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'=====================================================================
' Diese Prozedur wird unmittelbar vor dem Senden einer E-Mail aufge-
' rufen. Ist "Cancel" wahr, wird das Senden der E-Mail abgebrochen.
' (c) 2008 Peter Marchert - http://www.outlook-stuff.com
'=====================================================================
'---------------------------------------------------------------------
' Ordnerauswahl zum Ablegen der gesendeten Mail anzeigen
'---------------------------------------------------------------------
Cancel = SentFolder(Item)
'---------------------------------------------------------------------
' Referenz auf E-Mail löschen
'---------------------------------------------------------------------
Set Item = Nothing
End Sub
*******************************************