Hallo,
in einer Anwendung müssen Postfächer geprüft werden ob dort Mails über eine Zeit X liegen.
Das bekommt der Code auch raus, allerdings können Mails danach nicht mehr Verschoben oder geändert werden.
Die Fehlermeldung in Outlook bei dem Versuch eine Mail nach einen Programmdurchlauf zu ändern lautet: Der Vorgang kann nicht ausgeführt werden, da die Nachricht geändert wurde.
Der Verwendete Verweis ist Microsoft.Office.Interop.Outlook Version 12.0.0.0
Noch ein Hinweis, die Postfächer und Pfade müssen konfigurierbar bleiben
in einer Anwendung müssen Postfächer geprüft werden ob dort Mails über eine Zeit X liegen.
Das bekommt der Code auch raus, allerdings können Mails danach nicht mehr Verschoben oder geändert werden.
Die Fehlermeldung in Outlook bei dem Versuch eine Mail nach einen Programmdurchlauf zu ändern lautet: Der Vorgang kann nicht ausgeführt werden, da die Nachricht geändert wurde.
Der Verwendete Verweis ist Microsoft.Office.Interop.Outlook Version 12.0.0.0
Noch ein Hinweis, die Postfächer und Pfade müssen konfigurierbar bleiben
Code:
#Region "Outlook Überwachung" Public Function OL_Mails_Check() As xOLCheckItem Dim oApp As Microsoft.Office.Interop.Outlook.Application = New Microsoft.Office.Interop.Outlook.Application Dim oNS As Microsoft.Office.Interop.Outlook.NameSpace = oApp.GetNamespace("mapi") Dim xMapiFolder As Microsoft.Office.Interop.Outlook.MAPIFolder = Get_OL_MapiFolder(oNS) Dim xReturn As xOLCheckItem xReturn.DangeredMails = 0 xReturn.IsError = False xReturn.OL_PathFound = True Try If Not xMapiFolder Is Nothing Then Dim xMailItems As Microsoft.Office.Interop.Outlook.Items = xMapiFolder.Items For Each xItem As Microsoft.Office.Interop.Outlook.MailItem In xMailItems If DateDiff(DateInterval.Minute, xItem.ReceivedTime, Now) > _Set.Main("OL_Warning") Then xReturn.DangeredMails += 1 Next Else xReturn.IsError = True xReturn.OL_PathFound = False End If Catch ex As Exception xReturn.IsError = True Finally oNS.Logoff() oNS = Nothing oApp = Nothing End Try Return xReturn End Function Private Function Get_OL_MapiFolder(ByVal oNS As Microsoft.Office.Interop.Outlook.NameSpace, _ Optional ByVal xCurrentFolder As Microsoft.Office.Interop.Outlook.MAPIFolder = Nothing, _ Optional ByVal xI As Integer = 0) As Microsoft.Office.Interop.Outlook.MAPIFolder Dim xReturn As Microsoft.Office.Interop.Outlook.MAPIFolder = Nothing Try If xCurrentFolder Is Nothing Then Dim xFolder As Microsoft.Office.Interop.Outlook.MAPIFolder = oNS.Folders(_Set.Main("OL_Path").ToString.Split("\")(xI)) If Not xI = _Set.Main("OL_Path").ToString.Split("\").Count - 1 Then xI += 1 xReturn = Get_OL_MapiFolder(oNS, xFolder, xI) Else xReturn = xFolder End If xFolder = Nothing Else Dim xFolder = xCurrentFolder.Folders(_Set.Main("OL_Path").ToString.Split("\")(xI)) If Not xI = _Set.Main("OL_Path").ToString.Split("\").Count - 1 Then xI += 1 xReturn = Get_OL_MapiFolder(oNS, xFolder, xI) Else xReturn = xFolder End If xFolder = Nothing End If Catch ex As Exception xReturn = Nothing End Try Return xReturn End Function #End Region
Comment