Я написал макрос 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