arcanonxxl
Goto Top

Outlook 2010: Unterordner von Funktionspostfächern auf Neue Nachrichten überwachen (per VBA)

Hallo zusammen,

ich hoffe ihr könnt mir helfen.

Ich habe ein großes Funktionspostfach, in dem mehrere Unterordner vorhanden sind. Jeder Unterordner ist einem Mitarbeiter zugeordnet. Die Mails werden im Moment so organisiert, dass diese vom Posteingang in die unterschiedlichen Ordner verschoben werden. Und die Mitarbeiter sind angehalten von selbst ihre Ordner auf neue Mails zu kontrollieren.

Ordnerstruktur:

Posteingang\
..\Mechanik\
..\..\Max Mustermann\
..\..\Marie Müller
..\Elektrik\
..\..\Mai June
..\..\ Marie Xantippe

Was ich benötige, ist eine Überwachungsfunktione, die den jeweiligen Unterordner überwacht und wenn eine neue E-Mail in diesem Ordner erscheint, soll der Mitarbeiter eine Benachrichtigung auf dem Desktop erhalten.

Ich habe auch schon ein Script gefunden, weiß allerdings nicht, wie ich dieses anpassen muss, da ich bisher nicht mit VBA gearbeitet habe.

Public WithEvents myOlItems1 As Outlook.Items
Public WithEvents myOlItems2 As Outlook.Items


Public Sub Application_Startup()
    Set myOlItems1 = Application.GetNamespace("MAPI").GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders. _  
    Item("OrdnerEbene1").Folders.Item("EmailOrdner1").Items  
   Set myOlItems2 = Application.GetNamespace("MAPI").GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders. _  
    Item("OrdnerEbene1").Folders.Item("EmailOrdner2").Items  

End Sub

Private Sub myOlItems1_ItemAdd(ByVal Item As Object)
   
    If Item.UnRead = True Then
    MsgBox "Sie haben Post im Ordner 1!"  
    Else
    End If
   
End Sub

Private Sub myOlItems2_ItemAdd(ByVal Item As Object)
   
    If Item.UnRead = True Then
    MsgBox "Sie haben Post im Ordner 2!"  
    Else
    End If
   
End Sub

Ich hoffe ihr könnt mir helfen.

Vielen Dank im Voraus.

Viele Grüße,
Arcanon

Content-Key: 332443

Url: https://administrator.de/contentid/332443

Printed on: April 24, 2024 at 17:04 o'clock

Mitglied: 132692
132692 Mar 17, 2017 updated at 07:25:07 (UTC)
Goto Top
Set myOlItems1 = Application.Session.Stores("Funktionspostfach@domain.xyz").GetRootFolder.Folders("Posteingang").Folders("Mechanik").Folders("Max Musterman").Items  
p.
Member: ArcanonXXL
ArcanonXXL Mar 17, 2017 at 07:35:31 (UTC)
Goto Top
Super, das funktioniert einwandfrei.

Hab noch ne Frage, kann ich es auch im Script so einstellen, dass er bescheid gibt, wenn E-Mails, die gelesen, aber ungekennzeichnet sind, verschoben werden reagiert?
Mitglied: 132692
132692 Mar 17, 2017 at 07:53:13 (UTC)
Goto Top
Kann man mit dem BeforeItemMove Event, siehe:
https://msdn.microsoft.com/en-us/library/office/ff869445.aspx
Member: ArcanonXXL
ArcanonXXL Mar 17, 2017 updated at 09:45:36 (UTC)
Goto Top
Habs selbst herausgefunden. Hier die Lösung dafür:

Private Sub myOlItems1_ItemAdd(ByVal Item As Object)
   
    If Item.FlagStatus = False Then
    MsgBox "Sie haben unbearbeitete Post im Ordner Max Mustermann!"  
    Else
    End If
   
End Sub
Mitglied: 132692
132692 Mar 17, 2017 updated at 08:00:39 (UTC)
Goto Top
Das gilt aber nur für Mails die in den Ordner geschoben werden und nicht hinaus.
Naja egal, war ja sowieso nicht ganz eindeutig formuliert.

Bitte den Beitrag dann noch als gelöst markieren.

P.

p.s. Und für Programmcode gibt es hier Codetags!
Member: ArcanonXXL
ArcanonXXL Mar 17, 2017 at 09:45:22 (UTC)
Goto Top
Moin,
danke für die Hilfe, war so schon richtig, die Nachricht soll nur kommen, wenn etwas hineingeschoben wird.

Ich hab allerdings noch ein Problem - und zwar erscheint die Benachrichtigung nur, wenn Outlook sichtbar ist. Ist es möglich die Benachrichtigung auch erscheinen zu lassen, wenn Outlook minimiert ist?

Viele Grüße,
Timo
Mitglied: 132692
132692 Mar 17, 2017 updated at 10:11:39 (UTC)
Goto Top
CreateObject("Wscript.Shell").popup("Benachrichtigung")  
oder
    If TypeName(Application.ActiveWindow) = "Nothing" Then  
        Application.Explorers.Add(GetNamespace("MAPI").GetDefaultFolder(olFolderInbox), olFolderDisplayNormal).Activate  
        MsgBox "Neue Nachricht"  
    Else
        MsgBox "Neue Nachricht"  
    End If
Mitglied: 132692
132692 Mar 17, 2017 updated at 10:23:31 (UTC)
Goto Top
Zitat von @ArcanonXXL:

Und wo baue ich dies im Code ein?
Na dort wo deine Messagebox steht ...

Bitte Thread als gelöst markieren, das hat nichts mehr mit der Ursprungsfrage zu tun. Danke!