Descompactar archivos .zip mediante macros

Necesito descompactar archivos zip mediante una macro de Excel. Seleccionando las carpetas que contienen los zip que se quieren descompactar. Cada contenido del zip debe ponerse en la carpeta donde mismo esta el fichero .zip.

Alguna idea.

1 respuesta

Respuesta
2

Ejecuta la macro.

Selecciona una carpeta con los archivos .zip y presiona Aceptar.

Si quieres otra carpeta, ejecuta nuevamente la macro

Sub DemoUnZip1()
  Dim carpeta As Variant, archivo As Variant, itm As Variant
  Dim ShellApp As Object
  '
  Set ShellApp = CreateObject("Shell.Application")
  With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Selecciona la carpeta con los archivos ZIP"
    .AllowMultiSelect = False
    If .Show <> -1 Then Exit Sub
    carpeta = .SelectedItems(1) & "\"
    archivo = Dir$(carpeta & "*.zip")
    Do While archivo <> ""
      ShellApp.Namespace(carpeta).CopyHere ShellApp.Namespace(carpeta & archivo).items
      archivo = Dir()
    Loop
  End With
End Sub

Hola Dante, Muy buenas noches,

La macro funciono perfecto, ¿lo único que seria posible en vez de ejecutar la macro por cada carpeta a descompactar que pudiera seleccionar más de una carpeta a la vez?

Muchas gracias por tu ayuda,

Aleida

No es posible seleccionar más de una carpeta.

Lo que se puede hacer es que pongas los nombres de las carpetas en una lista en una columna de excel. Y que la macro recorra esa lista y vaya leyendo cada carpeta.

.

[No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas