La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Excel/1282620-Macro-para-cambiar-nombre-a-varios-archivos.html

Macro para cambiar nombre a varios archivos

sin imagen de perfil

Macro para cambiar nombre a varios archivos

Publicado por Cristian (1 intervención) el 31/08/2011 05:22:10
Hola gente del foro, es la primera vez que participo en el mismo y lo voy hacer con una consulta. Tengo varios archivos en mp3 a los cuales les quiero cambiar el nombre de los mismos. Aquí adjunto una imagen para que puedan comprender realmente lo que quiero hacer.

[img]http://img42.imageshack.us/img42/3703/nombredearchivos.th.jpg[/img]

Paso a explicar en detalle: en la comlumna A tengo la ubicación de los archivos (la cuál no siempre es la misma) y los tengo cargados en filas intercaladas como se ve en la imagen. En la columna B tengo también la ubicación de los archivos pero en el formato de nombre en el que tiene que ser, osea; lo que está antes del guión va en minúsculas a exepción de la primer letra y lo que está después del guión va entre paréntesis y el guión se elimina.

Hace poco comencé a ver programación en la facultad y estamos aprendiendo a programar en Basic, sabiendo que éste es muy parecido a Visual Basic y que además las macros se programan en este lenguaje me ví en la posibilidad de poder hacer el trabajo engorroso de cambiar manualmente los nombres de los archivos de una forma más rápida y fácil, entonces les quería preguntar como hacer una macro que me devuelva como resultado lo que estoy necesitando.

Aquí les dejo el código en Basic como hice yo para cambiar el nombre de un archivo en particular:
input cadena$
longitud=len(cadena$)
pos=instr(cadena$,"-",1)
auxiliar2$=auxiliar2$+mid$(cadena$,pos+2,longitud)
auxiliar2$="("+auxiliar2$+")"
primeraletra$=left$(cadena$,1)
auxiliar$=mid$(cadena$,2,pos-2)
auxiliar$=lower$(auxiliar$)
final$=primeraletra$+auxiliar$+auxiliar2$
print final$
name "E:\Acercate Bandida - By Gato In The Mix.mp3" as "E:\"+final$+".mp3"

Aclaro que nunca hice una macro en Excel. Así que explíquenme de una forma detallada. Gracias a todos y espero me hayan entendido.
sin imagen de perfil

Macro para cambiar nombre a varios archivos

Publicado por jcs (494 intervenciones) el 01/09/2011 10:45:43
Muy buenas,

mira a ver si te sirve esto:

Sub cambiar_nombres()
For i = 3 To 23 Step 2
cadena = Cells(i, 1)
longitud = Len(cadena)
pos = InStr(1, cadena, "-")
final = Left(cadena, 4) & LCase(Mid(cadena, 5, pos - 5)) & "(" & Mid(cadena, pos + 2, longitud - pos - 5) & ")" & Right(cadena, 4)
Cells(i, 2) = final
Name cadena As final
Next i
End Sub

Un saludo. Juanjo.
sin imagen de perfil

Macro para cambiar nombre a varios archivos

Publicado por vrendon1971 (1 intervención) el 05/10/2012 21:19:19
Y si lo que deseo es tomar un grupo de archivos de video y truncar una parte del nombre para que no me quede largo y repetitivo...¿qué hago? lo deseo hacer por DOS, un ejemplo es:

09.- Curso de Java para principiantes. Almacenar información con el uso de Arrays - YouTube
010.- Curso de Java para principiantes. Fundamentos de la Programación Orientada a Objetos. - YouTube
011.- Curso de Java para principiantes. Jerarquía de Clases y Herencias. - YouTube

Como pueden observar sería muy engorroso hacerlo uno a uno ya que son 40, me gustaría quitar la parte que dice "Curso de Java para principiantes - YouTube" dejando solo el nombre como tal.

Gracias.