Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ZIP automatisch entpacken und DateienNEU

ZIP automatisch entpacken und DateienNEU
06.09.2021 13:43:29
Steffen
Hallo, ich suche derzeit eine Lösung für mein kleines Problemchen.
Ich möchte das eine .ZIP Datei die Excel Dateien beinhaltet diese automatisch im selben Order ablegt wo bereits die Dateien sind, mein Problem ist das Excel ja diese Dateien nicht ersetzt wenn sie noch geöffnet sind (richtig?)
Die Dateien in der ZIP müssen identisch bleiben vom Namen her
Bisher bin ich soweit mit dem UNZIP:

Private Sub CommandButton16_Click()
strProgramm = "C:\Program Files\7-Zip\7z.exe"
strArchiv = "C:\Download\Master.zip"
strOrdner = "C:\Users\ACT Motor 4\Desktop\B&O Master"
Set fso = CreateObject("Scripting.FileSystemObject")
strProgramm = fso.GetFile(strProgramm).ShortPath
strArchiv = fso.GetFile(strArchiv).ShortPath
strOrdner = fso.GetFolder(strOrdner).ShortPath
Shell strProgramm & " x " & strArchiv & " -o" & strOrdner, vbNormalFocus
End Sub
Hat jemand eine Idee vielleicht?
LG Steffen
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ZIP automatisch entpacken und DateienNEU
06.09.2021 17:18:39
onur
"Dateien nicht ersetzt wenn sie noch geöffnet sind (richtig?)" ?
Sind sie denn geöffnet, wen ja, warum ?
AW: ZIP automatisch entpacken und DateienNEU
06.09.2021 17:21:09
volti
Hallo Steffen,
eine Idee wäre, die zu extrahierenden Dateien vor der eigentlichen Extrahierung in einen String oder ein Array aufzunehmen und dann abzuchecken, welche von den XLS-Dateien aktuell geöffnet sind.
Die geöffneten Dateien dann schließen oder auf schreibgeschützt setzen, je nach dem, was gewünscht ist. Das könnte funktionieren.
Hier eine Anregung, wie Du die in der Zip-Datei enthaltenen (Exce-l)Dateien in Erfahrung bringst.
Code:

[Cc][+][-]

Option Explicit Dim ZipArr() As String, iAnz As Integer Sub Zip_Listing() ' Zip-Inhalt in Array laden Dim vZipDatei As Variant vZipDatei = "C:\Users\volti\Desktop\Test.zip" With CreateObject("Shell.Application") SetZipArray .Namespace(vZipDatei), 0 End With ' Testausgabe Range("A1").Resize(UBound(ZipArr) + 1, 1) = WorksheetFunction.Transpose(ZipArr) End Sub Sub SetZipArray(oZipItems As Object, iAnz As Integer) Dim oItem As Object For Each oItem In oZipItems.Items If oItem.Name Like "*.xls*" Then iAnz = iAnz + 1 ReDim Preserve ZipArr(iAnz) ZipArr(iAnz) = oItem.Name End If If oItem.IsFolder Then SetZipArray oItem.GetFolder, iAnz Next oItem End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

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