Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Outlook 2016 Ordner Auswahl beim Senden

Outlook 2016 Ordner Auswahl beim Senden
09.02.2023 08:20:10
Phillip
Hallo zusammen, hoffe ihr könnt mir weiter helfen :-). Da ich mich nicht wirklich aus kenne mit VBA. Habe dieses Makro im Netzt gefunden. Das Makro funktioniert soweit gut nur ein kleines Problem was mich etwas nervt ist das er immer auf den Posteingang steht. Möchte aber das er immer bei Gesendete Elemente steht. Weis einer wie ich den Start Ordner ändern kann so das er nicht immer auf dem Posteingang steht sondern z.B. auf Gesendete Elemente? MfG Um den Code zu Testen müsst ihr ihn folgender maßen rein kopieren 1. Der Aufruf erfolgt aus dem Application_ItemSend-Ereignis im Modul DieseOutlookSitzung. Hierhin kopieren Sie bitte den 1. Codeteil: 2. Den 2. Codeteil bitte in ein neues Modul kopieren (Einfügen -> Modul im VBA-Editor) ------------------------------------------------------- 1 Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Cancel = SentFolder(Item) Set Item = Nothing End Sub -------------------------------------------------------------------------- 2 Public Function SentFolder(ByRef Item As Object) As Boolean Dim objFolder As Object If Not Item.Class = olMail Then Exit Function Do Set objFolder = Nothing Set objFolder = Outlook.Session.PickFolder If objFolder Is Nothing Then SentFolder = True Exit Function End If 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 If Not objFolder Is Nothing Then 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 End If Loop While objFolder Is Nothing Set Item.SaveSentMessageFolder = objFolder Set objFolder = Nothing End Function

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Outlook 2016 Ordner Auswahl beim Senden
09.02.2023 09:24:18
mumpel
Bitte sei so gut und poste Deinen Code vernünftig. So kann das keiner lesen.
AW: Outlook 2016 Ordner Auswahl beim Senden
09.02.2023 11:03:10
Phillip
Hoffe es ist jetzt besser
Hallo zusammen, hoffe ihr könnt mir weiter helfen :-). Da ich mich nicht wirklich aus kenne mit VBA. Habe dieses Makro im Netzt gefunden. Das Makro funktioniert soweit gut nur ein kleines Problem was mich etwas nervt ist das er immer auf den Posteingang steht. Möchte aber das er immer bei Gesendete Elemente steht. Weis einer wie ich den Start Ordner ändern kann so das er nicht immer auf dem Posteingang steht sondern z.B. auf Gesendete Elemente? MfG Um den Code zu Testen müsst ihr ihn folgender maßen rein kopieren
1. Der Aufruf erfolgt aus dem Application_ItemSend-Ereignis im Modul DieseOutlookSitzung. Hierhin kopieren Sie bitte den 1. Codeteil:
2. Den 2. Codeteil bitte in ein neues Modul kopieren (Einfügen -> Modul im VBA-Editor)
1
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Cancel = SentFolder(Item) Set Item = Nothing End Sub 
2
Option Explicit
Public Function SentFolder(ByRef Item As Object) As Boolean
Dim objFolder As Object
If Not Item.Class = olMail Then Exit Function
Do
Set objFolder = Nothing
Set objFolder = Outlook.Session.PickFolder
If objFolder Is Nothing Then
       SentFolder = True
       Exit Function
End If
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
If Not objFolder Is Nothing Then
            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
        End If
    Loop While objFolder Is Nothing
Set Item.SaveSentMessageFolder = objFolder
Set objFolder = Nothing
End Function

Anzeige
AW: Outlook 2016 Ordner Auswahl beim Senden
09.02.2023 13:39:17
mumpel
Nimm statt den Namen die Konstante (https://learn.microsoft.com/de-de/office/vba/api/outlook.oldefaultfolders). In Deinem Fall versuche es mit Outlook.Session.GetDefaultFolder(5)
AW: Outlook 2016 Ordner Auswahl beim Senden
10.02.2023 08:17:59
Phillip
Guten Morgen mumpel,
kam erst jetzt dazu es zu testen leider funktioniert es nicht so wie ich es meine und möchte. Da meine VBA Kenntnisse nicht wirklich da sind möchte ich dich Bitten mir das in den Code zu schreiben so das es funktioniert wie ich es meine. Zur besseren Darstellung habe ich ein Bild mit hin zugefügt was ich genau meine.
MfG
Userbild
Anzeige
AW: Outlook 2016 Ordner Auswahl beim Senden
10.02.2023 10:41:50
Luschi
Hallo Philip,
Da Du offensichtlich die Outlook-Bibliothek in Vba eingebunden hast, kannst Du natürlich auch die internen Outlook-Konstanten (ol...) benutzen:
- Outlook.Session.GetDefaultFolder(olFolderInbox) zeigt aber auf den Posteingangsordner
- Outlook.Session.GetDefaultFolder(olFolderSentMail) zeigt auf den gewünschten Sende-Ordner
Aber warum willst Du die gesendeten Elemente wieder im Posteingansordner verschieben?
fragt sich Luschi
aus klein-Paris
AW: Outlook 2016 Ordner Auswahl beim Senden
13.02.2023 08:38:25
Phillip
Guten Morgen Luschi,
möchte nicht die gesendeten E-Mails in dem Posteingang haben sondern in den Ordner Gesendete Elemente haben.
Möchte aber wie dieses Makro es macht vor dem Senden entscheiden ob ich sie in einem anderen Ordner weg sortiere oder auch nicht. Wenn ich es nicht möchte dann soll er sie Automatisch in den Ordner Gesendete Elemente ablegen wenn ich auf den OK Button drücke.. Das macht das Makro nicht da er immer auf dem Ordner Pesteingang steht.
Habe es so getestet und auch so macht das Makro es nicht er zeigt mir immer den den Posteingang an so wie auf den Bild von mir.
If Not objFolder Is Nothing Then
            If objFolder = Outlook.Session.GetDefaultFolder(olFolderSentMail) 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
        End If
MfG
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige