VBA скрипт для распаковки файлов - это просто создание пустых папок

используя код Рона (http://www.rondebruin.nl/win/s7/win002.htm) теоретически разархивировать кучу zip-файлов в папке. Я считаю, что ниже у меня есть код, который принимает каждый zip-файл в моемЗагрузки каталог, создает новую папку с именем zip-файла без ".zip», а затем извлекает файлы в новую папку. Я не получаю никаких ошибок (много раз люди получают ошибку времени выполнения 91), но единственное, что происходит, - это то, что он создает кучу папок с правильными именами, но все они пусты.

Sub UnZipMe()

Dim str_FILENAME As String, str_DIRECTORY As String, str_DESTINATION As String

'Your directory where zip file is kept
str_DIRECTORY = "C:\Users\Jennifer\Downloads\"

'Loop through all zip files in a given directory
str_FILENAME = Dir(str_DIRECTORY & "*.zip")

Do While Len(str_FILENAME) > 0
    Call Unzip1(str_DIRECTORY & str_FILENAME)
    Debug.Print str_FILENAME
    str_FILENAME = Dir
Loop

End Sub

Sub Unzip1(str_FILENAME As String)
    Dim oApp As Object
    Dim Fname As Variant
    Dim FnameTrunc As Variant
    Dim FnameLength As Long

    Fname = str_FILENAME
    FnameLength = Len(Fname)
    FnameTrunc = Left(Fname, FnameLength - 4) & "\"

    If Fname = False Then
        'Do nothing
    Else
        'Make the new folder in root folder
        MkDir FnameTrunc

        'Extract the files into the newly created folder
        Set oApp = CreateObject("Shell.Application")
        oApp.Namespace(FnameTrunc).CopyHere oApp.Namespace(Fname).items
    End If
End Sub

Ответы на вопрос(1)

Ваш ответ на вопрос