Al final me incliné por la segunda opción, siguiendo el mismo método que ya había mencionado alguna vez para descomprimir archivos .zip en VBA: Descomprimir un archivo por medio de VBA.
Basta con copiar el siguiente Script en el bloc de notas (u otro editor de texto plano) y guardarlo con extensión .vbs. El script se deberá guardar en la misma ubicación en donde se encuentran los archivos .zip a extraer y creará una nueva carpeta para cada archivo .zip que se extraerá, extrayendo allí el contenido.
Option Explicit
Dim oApp, FSO, FLD, FIL
Dim strFolderOrigen, strFolderDestino
' Obtiene la ruta en donde se encuentran los archivos .zip
strFolderOrigen = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
' Se crean los objetos con los que se van a trabajar
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oAPP = CreateObject("Shell.Application")
' Se carga el folder en el que se encuentran los .zip
Set FLD = FSO.GetFolder(strFolderOrigen)
' Recorre cada uno de los archivos .zip
For Each FIL In FLD.Files
' Si el nombre del archivo termina en .zip,
' se pasa a trabajar con él.
If Right(FIL.Name, 4) = ".zip" Then
' Se guarda el nombre para la carpeta de destino
strFolderDestino = Replace(FIL.Path, ".zip", "")
' Se crea la carpeta de destino, en donde se descomprimirá
' el archivo .zip. Este folder tiene el mismo nombre que el .zip
FSO.CreateFolder strFolderDestino
' Se usa un objecto Shell.Application para descomprimir el archivo
' en la nueva carpeta creada
oAPP.Namespace(strFolderDestino).CopyHere oAPP.Namespace(FIL.Path).items
' Se borra el archivo .zip
FIL.Delete
End If
Next
Quizás usted conozca una manera más sencilla de automatizar este proceso, si es así, por favor compártala en los comentarios.
0 comentarios:
Publicar un comentario en la entrada