Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
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

Fehler beim Import von Anlagen aus Email

Fehler beim Import von Anlagen aus Email
21.05.2023 06:48:49
Andy

Hallo liebe Mitglieder des Forums,

ich habe ein kleines Problem hinsichtlich des Imports von Anhängen aus Email.
Seit 2 Jahren verwende ich ein Script, das bislang immer fehlerfrei lief. Ein Kollege konnte aber jetzt einen Fehler produzieren,
aus dem ich nicht ganz schlau werde und die Lösung nicht sehe.

Mein Script überprüft auf dem Exchange Server im pers. Emailpostkorb den Posteingang. Der Gedanke war, aus allen Emails mit dem Betreff
"XYZ", die in den letzten 30 Min. eingegangen sind, den Anhang in ein spez. VZ zu extrahieren. Das klappte auch.

Jetzt haben wir festgestellt, dass der Code immer im Bereich "If CDate(objItem.ReceivedTime()) >= zeit Then
If objItem.Subject Like "*" & "XYZ" & "*" Then"

hängen bleibt, wenn sich im Posteingang Emaila aus unzustellbare Rückantworten (als zb flascher Emailadressat). Dann bricht der Code ab.
Ich habe auch das Gefühl, dass dort im Betreff auf ein @-Zeichen fehlerhaft reagiert wird. Kann das jemand reproduzieren und mir gf. eine Lösung dazu sahen ?

hier der code.


Private Sub CommandButton7_Click()
'Button zum Import Email-Anhängen in den Aktenscan
Dim olApp As Object
Dim objFolder As Object
Dim objItem As Object
Dim zeit As Date
Dim Counter As Long
Dim lngAttachCount    As Long

If MsgBox("Möchten Sie aus Ihrem persönlichen Email-Posteingang den Anhang importieren?" & Chr(10) & Chr(10) & "Hinweis: Es werden nur Emails der letzte 30 Minuten erkannt!", vbQuestion + vbYesNo, "Frage") = vbYes Then
    Set olApp = CreateObject("outlook.application")
    Set objFolder = olApp.GetNamespace("MAPI").GetDefaultFolder(6)
    zeit = DateAdd("n", -30, Now())   'Emails der letzten 30 Minuten checken

    For Each objItem In objFolder.Items
        If CDate(objItem.ReceivedTime()) >= zeit Then          '------------------Hier bleibt er dann hängen im Debugger
                If objItem.Subject Like "*" & "XYZ" & "*" Then
                    If objItem.Attachments.Count > 0 Then
                        For lngAttachCount = objItem.Attachments.Count To 1 Step -1
                            Counter = Counter + 1
                            objItem.Attachments.Item(lngAttachCount).SaveAsFile Scanordner & Format(Now(), "yyyy-mm-dd") & "_" & Format(Now(), "hh-mm-ss") & "_" & "Scan" & "_" & TextBox5 & "_" & TextBox6 & "(" & Counter & ")" & Mid(objItem.Attachments.Item(lngAttachCount).FileName, InStrRev(objItem.Attachments.Item(lngAttachCount).FileName, "."))
                        Next lngAttachCount
                    Else
                    End If
                objItem.Delete
                Else
                End If
       End If
    Next
    Set objFolder = Nothing
    Set olApp = Nothing
End If
End Sub


Vielen Dank für Eure Hilfe vorab.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim Import von Anlagen aus Email
21.05.2023 09:11:01
Fennek
Hallo,

im Posteingang können nicht nur Email, sonder auch andere Items sein, z.B. ReportItem (Lesebestätigungen, -anforderungen) oder PostITem.

Deshalb ist es notwendig in einem frühen Stadium auf die "Item.Class" zu prüfen. Nur wenn diese "olMail" (43) ist, darf eine weitere Verarbeitung beginnen.

Bespiel:

Dim FLD as Folder, Itm as ITem, EML as Mailitem

Set FLD = olApp.GetNamespace("MAPI").GetDefaultFolder(6)

for i = 1 to FLD.item.count
   if FLD.ITems(i).Class = olMail 
      'dein Code
   end if

next i
mfg

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige