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

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige