Problem mit VBA-Script

20/08/2008 - 11:33 von Thomas Griepentrog | Report spam
Hallo NG,

ich hoffe, ich bin hier richt.

Wir haben ein Problem mit einem Outlook-VBA-Script, welches automatisch
Attachments speichern soll.

Es speichert die Attachments wie gewollt in dem vorgegebenen Ordner, aber
das Geàndertdatum liegt dann 2h in der Zukunft.

Beispiel:
Email mit Attachment kommt 15:55, Geàndertzeit beim gespeicherten Attachment
ist 17:55.

Woran kann das liegen?

Hier noch das Script:

Private Sub Application_NewMail()
Dim strNewFolder As String
Dim objPosteingang As MAPIFolder
Dim objNewMail As MailItem

On Error Resume Next
strNewFolder = "C:\inputfiles"
Set objPosteingang =
Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
For Each objNewMail In objPosteingang.Items
With objNewMail
If .UnRead = True Then
intAnlagen = .Attachments.Count
If intAnlagen > 0 Then
For i = 1 To intAnlagen
.Attachments.Item(i).SaveAsFile strNewFolder & "\" &
.Attachments.Item(i).FileName
Next i
.UnRead = False
End If
End If
End With
Next objNewMail
End Sub

Thomas
 

Lesen sie die antworten

#1 Peter Marchert
20/08/2008 - 12:01 | Warnen spam
On 20 Aug., 11:33, "Thomas Griepentrog"
wrote:
Hallo NG,

ich hoffe, ich bin hier richt.

Wir haben ein Problem mit einem Outlook-VBA-Script, welches automatisch
Attachments speichern soll.

Es speichert die Attachments wie gewollt in dem vorgegebenen Ordner, aber
das Geàndertdatum liegt dann 2h in der Zukunft.

Beispiel:
Email mit Attachment kommt 15:55, Geàndertzeit beim gespeicherten Attachment
ist 17:55.

Woran kann das liegen?

Hier noch das Script:

Private Sub Application_NewMail()
    Dim strNewFolder As String
    Dim objPosteingang As MAPIFolder
    Dim objNewMail As MailItem

    On Error Resume Next
    strNewFolder = "C:\inputfiles"
    Set objPosteingang > Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
    For Each objNewMail In objPosteingang.Items
        With objNewMail
        If .UnRead = True Then
            intAnlagen = .Attachments.Count
            If intAnlagen > 0 Then
                For i = 1 To intAnlagen
                    .Attachments.Item(i).SaveAsFile strNewFolder & "\" &
.Attachments.Item(i).FileName
                    Next i
                    .UnRead = False
            End If
        End If
        End With
    Next objNewMail
End Sub



Hallo Thomas,

das könnte nur dann der Fall sein, wenn das NewMail-Ereignis nicht
immer reagiert, da das Datum der Zeitpunkt ist, an dem die Anlagen
abgespeichert wurden.

Du kannst ja testweise ein "debug.print Now & vbTab & .Subject" vor
und nach dem "SaveAsFile" einfügen.

Gruß
Peter

Infos, Workshops & Software für
Outlook®: www.outlook-stuff.com

Ähnliche fragen