
ELIMINAR ARCHIVOS CON MACRO DE EXCEL
La macro que se muestra en este ejemplo permite eliminar un archivo con una macro de Excel, en este ejemplo se listan los archivos en un listbox, seleccionando un archivo y presionando el bot贸n para eliminar, el mismo se borra de nuestra PC, todo se hace con una macro de Excel VBA.
Maneja Excel como los mejores, click ac谩, si quieres aprender sobre Excel en ingl茅s, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programaci贸n de macros con VBA este es unos de los mejores cursos on line que he visto en internet, te lo recomiendo no te arrepentir谩s.
Mira la macro en acci贸n, una explicaci贸n m谩s detallada de su codificaci贸n y funcionamiento, recomiendo observar para una m谩s f谩cil comprensi贸n de la macro; suscribe a nuestro canal de You Tube, mira el playlist con v铆deos relacionados donde podr谩s ver la macros relacionadas en acci贸n con una explicaci贸n en forma visual que ayudar谩 a entender el ejemplo en forma m谩s f谩cil.
EDITAR ARCHIVO CON EXCEL VBA – Renombrar Archivos
Este ejemplo muestra como cambiar el nombre de un archivo seleccionado de un listado que se encuentra en un Listbox de Excel VBA, seleccionado el archivo se muestra un imputbox que nos solicita ingresar el nombre que deseamos dar al archivo, para luego proceder a renombrar dicho archivo con el nombre dado en el imputbox.
El bot贸n que ejecuta o cambia el nombre del archivo es el que tiene in icono con un l谩piz, al presionarlo se muestra el formulario que solicita password.
Antes de renombrar el archivo se muestra un formulario que solicita un password para proceder a cambiar el nombre del fichero, en este ejemplo el password es “admin” (todo junto en min煤scula, sin las comillas).
Una vez ingresada la clave en el formulario, sale un mensaje de seguridad, preguntando se se desea cambiar el nombre del archivo, en caso de cancelar la macro no hace nada y si se presiona que si procede a cambiar el nombre del fichero, mostr谩ndose tambi茅n el nuevo nombre del fichero en el listbox.
Explicaci贸n del c贸digo para cambiar nombre de ficheros con macros VBA
Al presionar el bot贸n para editar el archivo, se ejecuta el siguiente c贸digo, que en primer lugar toma el nombre actual del archivo, que es obtenido de la columna 3 del listbox y lo carga en la variable “nomold”, tambi茅n establece en la variable “fila” cual es la fila del listbox donde est谩 el archivo a modificar, esto sirve para luego escribir en el listbox el nombre nuevo del archivo.
nomold = (UserForm9.ListBox1.List(ListBox1.ListIndex, 3))
fila = UserForm9.ListBox1.ListIndex
Luego se determinar o se asigna a la variable “nummacro” un n煤mero de macro para identificar posteriormente desde donde se est谩 llamando la macro ya que es necesario, porque se usa parte del c贸digo en diferentes macros y es necesario identificar para agregar un c贸digo especifico a cada macro, posteriormente se muestra el formulario que solicita el password, el c贸digo es el siguiente:
nunmacro = 2
UserForm8.Show
El formulario que solicita password determina si la clave ingresada en el formulario de VBA es verdadera, en caso que sea verdadera y dependiendo de la variable “nunmacro ” (n煤mero de macro), ejecutar谩 un c贸digo diferente, en este caso el numero de macro era 2, por ende ejecutar谩 la siguiente macro:
Case Is = 1
resp = MsgBox(“Est谩 por eliminar el archivo seleccionado, seguro requiere eliminar el fichero?”, vbInformation + vbOKCancel, “AVISO”)
N贸tese que antes de eliminar el archivo solicita confirmaci贸n, en el caso de que se presione aceptar, la respuesta es =1, luego se eval煤a el n煤mero de la respuesta obtenida por el Msgbox de confirmaci贸n.
En caso de la respuesta ser igual a uno, lo que equivale a aceptar eliminar el archivo, vuelve a preguntar para confirmar nuevamente si desea eliminar, es decir que se debe confirmar dos veces antes de que la macro elimine el archivo, se debe tener cuidado porque los archivos no van a la papelera de reciclaje, se usa el c贸digo:
Case Is = 1
resp = MsgBox(“Est谩 por eliminar el archivo seleccionado, seguro requiere eliminar el fichero?”, vbInformation + vbOKCancel, “AVISO”)
If resp = 1 Then
resp = MsgBox(“El archivo no se podr谩 recuperar, seguro requiere eliminar el archivo seleccionado?”, vbCritical + vbOKCancel, “AVISO”)
Si se confirm贸 eliminar el archivo las dos veces procede suprimir el fichero de nuestra PC y a su vez remueve del listbox el archivo eliminado con el siguiente comando:
Kill (myfilekill)
UserForm9.ListBox1.RemoveItem fila
C贸digo VBA para eliminar archivos listados en listbox de Excel
C贸digo insertado en el formulario 8
Private Sub CommandButton1_Click()
Dim resp As Integer
On Error Resume Next
If TextBox1 = “admin” Then
Unload Me
Select Case nunmacro
Case Is = 1
resp = MsgBox(“Est谩 por eliminar el archivo seleccionado, seguro requiere eliminar el fichero?”, vbInformation + vbOKCancel, “AVISO”)
If resp = 1 Then
‘Vuelve a preguntar por segunda vez que confirme eliminaci贸n archivo
resp = MsgBox(“El archivo no se podr谩 recuperar, seguro requiere eliminar el archivo seleccionado?”, vbCritical + vbOKCancel, “AVISO”)
If resp = 1 Then
Kill (myfilekill)
UserForm9.ListBox1.RemoveItem fila
MsgBox (“El archivo se elimin贸 con 茅xito”), vbInformation, “AVISO”
End If
End If
Case Is = 2
resp = MsgBox(“Est谩 por cambiar el nombre del archivo seleccionado, seguro requiere editar el nombre del fichero?”, vbInformation + vbOKCancel, “AVISO”)
If resp = 1 Then
nomfich = Application.InputBox(prompt:=”Establezca el nuevo nombre del archivo:”, Type:=2)
nomcap = StrReverse(nomold)
exten = Left(nomcap, InStr(nomcap, “.”) – 1)
exten = StrReverse(exten)
nomcap = Mid(nomcap, InStr(nomcap, “\”) + 1)
nomcap = StrReverse(nomcap)
nomnew = nomcap & “\” & nomfich & “.” & exten
Name nomold As nomnew
UserForm9.ListBox1.List(fila, 1) = nomfich & “.” & exten
UserForm9.ListBox1.List(fila, 3) = nomnew
MsgBox (“El archivo se renombr贸 con 茅xito”), vbInformation, “AVISO”
End If
End Select
Else
MsgBox (“La clave ingresada para eliminar archivos es incorrecta, verifique”), vbInformation, “AVISO”
TextBox1 = Clear
TextBox1.SetFocus
End If
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
C贸digo insertado en el formulario 9
UserForm9.ListBox1.AddItem
UserForm9.ListBox1.List(UserForm9.ListBox1.ListCount – 1, 3) = “Total de registros: ” & UserForm9.ListBox1.ListCount – 4
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Private Sub CommandButton25_Click()
On Error Resume Next
myfilekill = (UserForm9.ListBox1.List(ListBox1.ListIndex, 3))
fila = UserForm9.ListBox1.ListIndex
nunmacro = 1
UserForm8.Show
End Sub
Private Sub CommandButton26_Click()
Unload UserForm9
End Sub
Private Sub CommandButton27_Click()
On Error Resume Next
nomold = (UserForm9.ListBox1.List(ListBox1.ListIndex, 3))
fila = UserForm9.ListBox1.ListIndex
nunmacro = 2
UserForm8.Show
End Sub
Private Sub ListBox1_Click()
End Sub
Private Sub UserForm_Initialize()
UserForm9.Top = 100
UserForm9.Left = 135
UserForm9.Width = 830
UserForm9.Height = 350
End Sub
Descarga el Fichero como Renombrar Archivos con Macro
Descarga desde ac谩 el archivo usado como ejemplo en este post y en el v铆deo explicativo, el mismo es totalmente gratuito y libre su uso, solicito aportar para sostener esta web, si est谩 dentro de tus posibilidades, desde ya muchas gracias.
Si te fue de utilidad puedes INVITARME UN CAF脡 y de esta manera ayudar a seguir manteniendo la p谩gina, CLICK para descargar en ejemplo en forma gratuita.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Donate:
Cuenta Paypal: https://paypal.me/programarexcel
Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407