Eigenschaften des Inhalt von zip Files extrahieren
#1
Hallo

Ich habe ein Makro geschrieben, dass Verzeichnisse durchläuft und mir den Inhalt eines Zip-Files extrahiert. Ich lasse mir den Namen und die Größe des im Zip File befindlichen Textdokumentes ausgeben. Das Funktioniert soweit auch. 

Nun möchte ich bzw. brauche ich das Erstellungsdatum und/oder das Änderungsdatum! Das sollte eine Eigenschaft des Files und mit z.B. 
Code:
.DateLastModified
oder
Code:
.CreatedOn
in der Form
Code:
Range("B" & i).Value = fileNameInZip.DateCreated
auslesbar sein. 

Ich erhalte jedoch die Fehlermeldung, dass das Objekt oder die Eigenschaft oder die Methode nicht unterstützt.

Code:
Private Sub Get_Information3()
    folder_path = "C:\Users\[MYNMAME]\Desktop\prod"

    Dim sh As Worksheet
    Set sh = ThisWorkbook.Sheets("Tabelle1")

    Dim oFSO As Object
    Dim oFolder As Object 'prod
    Dim oSubFolderSupplier As Object 'Supplier
    Dim oSubFolderCountry As Object
    Dim oSubFolderDatabase As Object
    Dim oSubFolderZipArchive As Object
    Dim oFileinZipArchive As Object
    Dim last_row As Integer

    Dim oApp As Object



    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oFolder = oFSO.GetFolder(folder_path)
    Set oApp = CreateObject("Shell.Application")

    Dim i, r As Integer
    Dim fileNameInZip As Variant
    Dim Fname As Variant
    Dim sh1 As Worksheet
    Set sh = ThisWorkbook.Sheets("Tabelle1")
    Dim Stringtest As Integer
    Dim test1 As String

    i = 2
    For Each oSubFolderSupplier In oFolder.SubFolders
        For Each oSubFolderCountry In oSubFolderSupplier.SubFolders
            For Each oSubFolderDatabase In oSubFolderCountry.SubFolders
                For Each oSubFolderZipArchive In oSubFolderDatabase.SubFolders
                    For Each oFileinZipArchive In oSubFolderZipArchive.Files



    Fname = Dir(oFileinZipArchive)
    Stringtest = InStrRev(oFileinZipArchive, "\")
    test1 = Left(oFileinZipArchive, Stringtest)


                        If Right(Fname, 4) = ".zip" Then

                             For Each fileNameInZip In oApp.Namespace(test1 & Fname).Items


                             Range("A" & i).Value = fileNameInZip.Name
                             **Range("B" & i).Value = fileNameInZip.DateCreated**


                             i = i + 1

                             Next
                         End If



                    Next
                Next
            Next
        Next
    Next

    End Sub

Kann mir jemand helfen? Ich sitze schon eine ganze Weile an der Problemetik….
Top
#2
Hallo,

bisher habe ich immer die files aus dem Archiv extrahiert (mit 'Namespace'). Aber mit einem Python-Tool kann man zumindest das "LastModified" direkt auslesen.

Falls das infrage käme, kann die dir einen link schicken.

mfg
Top
#3
Hallöchen,

fileNameInZip.ModifyDate geht auch direkt mit VBA Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste