Во время полного процесса макроса я создаю Zip
файл Folder
.В этой папке есть несколько подпапок и файлов .Используя этот код:
Dim oApp As Object
NewZip (s_path & "\" & acc_name & ".zip")
Set oApp = CreateObject("Shell.Application")
oApp.Namespace(s_path & "\" & acc_name & ".zip").CopyHere oApp.Namespace(s_path & "\" & acc_name & "\").items
On Error Resume Next
Do Until oApp.Namespace(s_path & "\" & acc_name & ".zip").items.Count = _
oApp.Namespace(s_path & "\" & acc_name & "\").items.Count
Application.Wait (Now + TimeValue("0:00:01"))
Loop
On Error GoTo 0
Set oApp = Nothing
Теперь мне нужно убедиться, что Zip меньше 20 МБ , чтобы его можно было отправить по почте.То, что я нашел, можно сделать с помощью строки:
FileLen(path)
Теперь, если размер файла превышает 20 МБ , я хочу удалить все файлы из одного конкретного подпапка этого почтового индекса.Я понятия не имею, как это сделать.Должен ли я просто создать другой zip-файл, такой как оригинал, и попробовать пропустить файлы в этой подпапке, или есть какой-то способ удалить определенные файлы в Zip-файле?
Я пытался заглянуть внутрь Zip, используя:
Dim FSO As Object
Dim sh As Object, fld As Object, n As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set sh = CreateObject("Shell.Application")
Set ZipFile = sh.Namespace("C:\Users\mohit.bansal\Desktop\Test\Test.zip")
For Each fileInZip In ZipFile.Items
Debug.Print (fileInZip)
Next
Все еще не может проникнуть внутрь подпапок почтового индекса.