2016-09-07

VBA - Reemplazar la extensión de todos los ficheros de una carpeta

Title

Problema

Queremos reemplazar la extensión de todos los ficheros de una carpeta.

Solución

  1. Abrimos el Editor de Microsoft Visual Basic: Alt+F11.
  2. Copiamos el siguiente código.
  3. Sub CambiarExt()
    
        With CreateObject("wscript.shell")
           .currentdirectory = CurDir
           .Run "%comspec% /c ren *.xls *.xlsx", 0, True
        End With
    
    End Sub
    
  4. Guardamos el fichero Excel en la carpeta de destino, donde se encuentran los ficheros que deseamos cambiar.
  5. Ejecutamos el código: F5.

Notas

CurDir - Indica el directorio de destino en el que se realiza el reemplazamiento. Si deseamos otra ruta la especificamos entre comillas. Ej:"C:\Usarios\Carpeta\Excel pruebas\"
.Run "%comspec% /c ren - Ejecuta cmd.exe y renombra los ficheros.
*xls - En nuestro ejemplo el primer argumento del fichero, es la extensión actual de los ficheros.
*xls - En nuestro ejemplo el segundo argumento del fichero, es la extensión final o deseada de los ficheros.

Podemos indicar todo tipo de extensiones: *txt a *csv por ejemplo. Se trata tan sólo de un ejemplo muy sencillo al que podemos añadir otras funcionalidades: mediante mensajes de texto o desplegables en texto en los que el usuario pueda definir los parámetros anteriores.

Entradas relacionadas

No hay comentarios:

Publicar un comentario

Nube de datos