дата получения (изменения) всего файла, указанного в zip-файле - PullRequest
0 голосов
/ 23 февраля 2020

Я написал макрос VBA (частично мои и отдельные фрагменты из Inte rnet), в котором перечислены все файлы, содержащиеся во всех zip-файлах, которые макрос может найти по начальному пути:

folder_path = "C:\Users\[MYNAME]\Desktop\prod" ,

Это работает. Он проходит через каждую папку до zipArchive, которая содержит несколько zip-файлов с несколькими файлами (без дополнительных папок) в этих zip-файлах. Я начал позволять макросу записывать некоторую информацию об этих файлах, такую ​​как имя, размер, ...

СЕЙЧАС, причина, по которой я это делаю, заключается в том, что меня интересует дата создания / дата последнего изменения файлы внутри каждого почтового файла. Поэтому я использовал

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

, который возвращает ошибку о том, что объект не поддерживает метод или свойство…

Может кто-нибудь мне помочь?

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...