MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 27.03.2006, 14:20   #1
chris1791
MOF User
MOF User
Standard Acc2002/XP - E-Mail verschieben

Hallo Profis,
Mit dem Code aus einem älteren Forumbeitrag:
Code:

'...
    Set objNameSpace = objOutlook.GetNamespace("MAPI")
    	' Über das Namespace-Objekt kann nun jeder Ordner innerhalb von Outlook angesprochen werden. Hier wird der
   	 ' Posteingangsorder in einer entsprechenden Objektvariable gespeichert.
    Set objMailordner = objNameSpace.GetDefaultFolder(olFolderInbox)
    For i = 1 To objMailordner.Items.Count     	
        For Each objAttachment In objMailordner.Items(i).Attachments	
            objAttachment.SaveAsFile "C:\temp\" & objAttachment.FileName
        Next
    Next
'...
Lese ich täglich Anhänge aus Outlook und speichere sie in ein beliebiges Verzeichnis.
Wie kann ich die E-mail deren Anhang ich gerade gespeichert habe in den Outlook Unterordner "Posteingang\archiv" verschieben?
Ich möchte nämlich nicht dass am nächsten Tag den gleichen Anhang wieder einlese.
Gruß, chris
chris1791 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 28.03.2006, 11:33   #2
chris1791
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Leute,
nach nervenzerreißenden Versuchen habe ich es geschafft:
Code:

Private Sub Application_NewMail()
Dim strNewFolder As String
Dim objPosteingang As MAPIFolder
Dim objNewMail As MailItem
Dim objEmail As Outlook.Items
Dim zielFolder
On Error Resume Next

Set objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)

For Each objNewMail In objPosteingang.Items 
‘Für jede neue Email:
    With objNewMail
        If .UnRead = True Then
            intAnlagen = .Attachments.Count
            If intAnlagen > 0 Then
            ‘Wenn Anlagen vorhanden
                For i = 1 To intAnlagen
                    If Left(.Attachments.Item(i), 3) = "xxx" Then
                    ‘Wenn Anlage mit “xxx” beginnt:
                        .Attachments.Item(i).SaveAsFile "C:\Test\" & .Attachments.Item(i)
                        ‘Merkten dass die Mail die diese Anlage enthällt verschoben wird:
                        verschieben = True 
                    End If
                Next i
            End If
        End If
    End With
    If verschieben = True Then
    ‘Die Email in den vorgegebenen Posteingang-Unterordner verschieben
        objNewMail.Move objPosteingang.Folders("Mein Unterordner")
        objNewMail.Delete
    End If
    verschieben = False
Next objNewMail
End Sub
Damit werden neue E-Mails durchlaufen. Wenn spezifizierter Anhang vorhanden wird dieser in "C:\Test" gespeichert und die E-Mail in den Posteingang-Unterordner "Mein Unterordner" verschoben.
für mich ist das Thema abgeschlossen!
Viele Grüße,
Chris
chris1791 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:12 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.