Script VBA para descompactar arquivos - está apenas criando pastas vazias
Eu estou usando o código de Ron (http://www.rondebruin.nl/win/s7/win002.htm), em teoria, descompactar um monte de arquivos zip em uma pasta. Eu acredito que o que eu tenho abaixo é o código que leva cada arquivo zip no meu diretório 'Downloads', cria uma nova pasta com o nome do arquivo zip sem o ".zip" e, em seguida, extrai os arquivos para a nova pasta. Eu não estou recebendo nenhum erro (muitas vezes as pessoas obtêm o erro de runtime 91), mas a única coisa que acontece é que ele cria um monte de pastas nomeadas corretamente, mas elas estão todas vazias.
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