Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Unzip einer übergebenen Datei

Forumthread: Unzip einer übergebenen Datei

Unzip einer übergebenen Datei
13.11.2018 06:52:11
Traptor8180
Hallo,
ich habe eine

Sub geschrieben, die einen Mail Anhang abspeichert. Wenn es sich nicht um eine ZIP Datei  _
handelt, wird direkt abgespeichert:
' Diese Methode speichert das Attachment der übergebenen E-Mail
Sub saveAttachtoDisk(itm As Object, filename As String, path As String)
Dim objAtt As Object
'wenn das letzte Zeichen kein \ ist, dann hänge ein \ hinten dran
If Right(path, 1)  "\" Then
path = path + "\"
End If
For Each objAtt In itm.attachments
' Wenn es ein ZIP-File ist, dann Unzip in einen Tmp-Ordner
If Right(objAtt, 4) = ".zip" Then
' Call unzipMailAttachment(objAtt, filename, path)
Call unzipMailAttachment(objAtt, filename, path)
' Move File wird in der Unzip-Methode gemacht
Else ' Wenn Attachment kein ZIP ist, unzip erst
Call archiveOldFiles(path, filename)
objAtt.SaveAsFile path & filename
End If
Set objAtt = Nothing
Next
End Sub
Wenn es sich um eine ZIP-Datei handelt, wird zusätzlich die folgende Prozedur aufgerufen, die   _
_
die übergebene Datei entpacken soll. Und genau hier liegt mein Problem. Folgende Prozedur  _
funktioniert leider nicht
' Diese Methode speichert das Attachment der übergebenen E-Mail
Sub unzipMailAttachment(attachment As Object, filename As String, targetPath As String)
Dim tmpFolder As String
Dim sApp As Object
' Anlegen eines temporären Ordners für den ZIP-File
If Right(targetPath, 1)  "\" Then ' wenn das letzte Zeichen kein \ ist, dann hänge ein \   _
_
_
hinten dran
targetPath = targetPath + "\"
End If
tmpFolder = path & "\Temp" & Format(Now, "yyyy-mm-dd-hh-mm-ss") & "\"
MkDir (tmpFolder)
' Abspeichern des ZIP-Files
attachment.SaveAsFile tmpFolder & Left(filename, Len(filename) - 3) & "zip"
' Unzip der Datei und kopieren des ZIP Inhalts ins Zielverzeichnis (targetPath)
Set sApp = CreateObject("Shell.Application")
sApp.Namespace(targetPath).CopyHere _
sApp.Namespace(tmpFolder).items
End Sub
Sobald der Debugger an die Stelle
sApp.Namespace(targetPath).CopyHere _
sApp.Namespace(tmpFolder).items
kommt, bekomme ich eine Fehlermeldung: Laufzeitfehler '91': Objektvariable oder With- _
Blockvariable nicht festgelegt. Ich habe mich schon durch die Foren gewühlt, allerdings egal  _
welchen Beispielcode ich reinkopiere, diese beiden Zeilen kommen quasi überall vor und scheitern immer bei mir.
Wäre super, wenn mir jemand aus meiner Verzweifelung helfen könnte.
Viele liebe Grüße
Traptor


		
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Unzip einer übergebenen Datei
13.11.2018 09:59:54
Luschi
Hallo Traptor,
Du solltest schon die Antworten zur weiter untenstehenden Anfrage von Dir zum selben Problem auch lesen und auch nur dort antworten.
Gruß von Luschi
aus klein-Paris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige