Cambiar extensiones

05/05/2004 - 15:29 por Jorge | Informe spam
Buenos días,

Quisiera saber mediante macros cómo puedo hacer para
cambiar la extensión a los archivos de un directorio y
los subdirectorios.

Gracias!

Preguntas similare

Leer las respuestas

#1 Pablo Almitrani
05/05/2004 - 16:37 | Informe spam
Hola, lo que podes hacer es al momento de guardar el archivo con la macro,
le indicás la extensión que desees.
Saludos.
Jorge escribió en el mensaje de
noticias 897a01c432a5$0cf2d510$
Buenos días,

Quisiera saber mediante macros cómo puedo hacer para
cambiar la extensión a los archivos de un directorio y
los subdirectorios.

Gracias!
Respuesta Responder a este mensaje
#2 Jorge
05/05/2004 - 17:42 | Informe spam
Gracias pero lo que necesito no es guardar archivos, sino
que a un conjunto de archivos ya existentes daes un
comando y cambiarles la extenció...

es como en MS-DOS que uno da el comando REN *.mp3 *.rjo y
cambia todos los mp3 a rjo pero necesito hacerlo mediante
macros y en los subdirectorios.


Hola, lo que podes hacer es al momento de guardar el


archivo con la macro,
le indicás la extensión que desees.
Saludos.
Jorge escribió en


el mensaje de
noticias 897a01c432a5$0cf2d510$
Buenos días,

Quisiera saber mediante macros cómo puedo hacer para
cambiar la extensión a los archivos de un directorio y
los subdirectorios.

Gracias!


.

Respuesta Responder a este mensaje
#3 Fernando Arroyo
05/05/2004 - 19:36 | Informe spam
Mira si te sirve el siguiente código. Yo he hecho un par de pruebas y parece funcionar bien, pero te aconsejo que seas muy prudente dado que estamos hablando de operaciones masivas con ficheros. Mi consejo es que hagas varias pruebas con una copia de los directorios y que antes de empezar "en serio" saques una copia de seguridad de los mismos.


Sub CambiarExtensiones()
Dim fso As Object, fCarpeta As Object, tmpCarpeta As Object
Dim Fichero As Object, tmpFichero As Object
Dim strRutaInicial As String

strRutaInicial = "C:\Ruta" 'Ruta que se procesará

Set fso = CreateObject("Scripting.FileSystemObject")
Set fCarpeta = fso.GetFolder(strRutaInicial)

For Each tmpFichero In fCarpeta.Files
Name tmpFichero.Path As Left(tmpFichero.Path, (InStrRev(tmpFichero.Path, "."))) & "NuevaExtensión" '<<-- Poner la extensión que sea.
Next tmpFichero

Set tmpFichero = Nothing
Set Fichero = Nothing
Set tmpCarpeta = Nothing
Set fCarpeta = Nothing
Set fso = Nothing

Recursivo strRutaInicial

End Sub


Public Sub Recursivo(RutaInicial As String)
Dim fso As Object, fCarpeta As Object, tmpCarpeta As Object
Dim Fichero As Object, tmpFichero As Object

Set fso = CreateObject("Scripting.FileSystemObject")
Set fCarpeta = fso.GetFolder(RutaInicial)

For Each tmpCarpeta In fCarpeta.SubFolders
For Each tmpFichero In tmpCarpeta.Files
Name tmpFichero.Path As Left(tmpFichero.Path, (InStrRev(tmpFichero.Path, "."))) & "NuevaExtensión" '<<-- Poner la extensión que sea.
Next

Recursivo tmpCarpeta.Path
Next

Set tmpFichero = Nothing
Set Fichero = Nothing
Set tmpCarpeta = Nothing
Set fCarpeta = Nothing
Set fso = Nothing
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel


"Jorge" escribió en el mensaje news:8b8001c432b7$8fa6e520$
Gracias pero lo que necesito no es guardar archivos, sino
que a un conjunto de archivos ya existentes daes un
comando y cambiarles la extenció...

es como en MS-DOS que uno da el comando REN *.mp3 *.rjo y
cambia todos los mp3 a rjo pero necesito hacerlo mediante
macros y en los subdirectorios.


Hola, lo que podes hacer es al momento de guardar el


archivo con la macro,
le indicás la extensión que desees.
Saludos.
Jorge escribió en


el mensaje de
noticias 897a01c432a5$0cf2d510$
Buenos días,

Quisiera saber mediante macros cómo puedo hacer para
cambiar la extensión a los archivos de un directorio y
los subdirectorios.

Gracias!


.

Respuesta Responder a este mensaje
#4 Héctor Miguel
05/05/2004 - 19:59 | Informe spam
hola, chicos !

[solo por aportar una alternativa mas] :))

[me parece que] valdria la pena analizar el uso de la instruccion =>Name<=> 'permite' renombrar archivos si se usa el mismo directorio [o copiar archivos EN OTRO directorio]
=> Name "Origen" As "Destino" < 'requisitos' [al renombrar] = (1) que "Origen" EXISTA [y este cerrado] y (2) que "Destino" NO EXISTA
[probablemente] usando bucles/ciclos [For..Next] con matrices, 'patrones', etc.

saludos,
hector.
Respuesta Responder a este mensaje
#5 Jorge
05/05/2004 - 22:24 | Informe spam
Muchas gracias!

Voy a hacer las pruebas...

Saludos!


hola, chicos !

[solo por aportar una alternativa mas] :))

[me parece que] valdria la pena analizar el uso de la


instruccion =>Name<>=> 'permite' renombrar archivos si se usa el mismo
directorio [o copiar archivos EN OTRO directorio]
=> Name "Origen" As "Destino" <> 'requisitos' [al renombrar] = (1) que "Origen"


EXISTA [y este cerrado] y (2) que "Destino" NO EXISTA
[probablemente] usando bucles/ciclos [For..Next] con


matrices, 'patrones', etc.

saludos,
hector.
.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida