Como puedo borrar un archivo csv de internet con una macro de excel?
El tema esta en que yo en la red local estoy conectado con un PLC que me registra datos en csv en un usb, estos los importo a un excel a través de la dirección IP. Lo que quiero es que una vez importados pueda borrar dichos archivos para vaciar la memoria del usb. ¿Es posible hacerlo?
1 respuesta
H o l a :
Si quieres borrar un solo archivo, utiliza esta macro, cambia la ruta y el nombre de archivo a borrar.
Sub BorrarCsv() 'Por.Dante Amor ruta = "G:\Pruebas\" arch = "libro1.csv" If Dir(ruta & arch) <> "" Then Kill ruta & arch MsgBox "Archivo Borrado" Else MsgBox "Archivo no existe" End If End Sub
Si quieres borrar todos los archivos Csv, utiliza esta macro, solamente tienes que indicarle la ruta:
Sub BorrarTodosCsv() 'Por.Dante Amor On Error Resume Next ruta = "G:\Pruebas\" arch = "*.csv" Kill ruta & arch MsgBox "Archivos Borrados" End Sub
Gracias por tu respuesta, pero no me sirve.
La ruta es una dirección IP como se lo tengo que poner?
Sub BorrarTodosCsv() 'Por.Dante Amor On Error Resume Next ruta = "URL;http://192.168.1.118/disk/usb1/trend/COMPARACIO/" arch = "*.csv" Kill ruta & arch MsgBox "Archivos Borrados" End Sub
Porque así no me los borra.
¿Puedes montar la ip en un disco virtual?
De otra forma prueba así:
Sub BorrarTodosCsv() 'Por.Dante Amor On Error Resume Next ruta = "//192.168.1.118/disk/usb1/trend/COMPARACIO/" arch = "*.csv" Kill ruta & arch MsgBox "Archivos Borrados" End Sub
Revisa el nombre de las carpetas y me parece que la diagonal debe ser así:
Sub BorrarTodosCsv() 'Por.Dante Amor On Error Resume Next ruta = "\\192.168.1.118\disk\usb1\trend\COMPARACIO\" arch = "*.csv" Kill ruta & arch MsgBox "Archivos Borrados" End Sub
s a l u d o s
De estas formas tampoco, quizás lo mejor es esto que dices de montar la ip en un disco virtual, no lo he echo nunca, sabes de algún programa o como puedo hacerlo?
Porque sino estaba pensando, puedo entrar en ese archivo que me seleccione todas las celdas y me las borre? Quizás sea mas complicado no?
Muchas gracias por tu ayuda.
Esta macro ya la probé con el número de Ip y me funciona
Sub BorrarTodosCsv() 'Por.Dante Amor On Error Resume Next ruta = "\\192.168.1.118\disk\usb1\trend\COMPARACIO\" arch = "*.csv" Kill ruta & arch MsgBox "Archivos Borrados" End Sub
Revisa que estén bien escritas las carpetas.
La diagonal debe ser esta: \
La última carpeta dice COMPARACIO y tal vez le falta la última letra N: COMPARACION.
Prueba nuevamente esta última macro, te repito, yo ya la probé en una dirección de IP y me funciona.
Si te envía error, dime qué erro te aparece en cuál línea de la macro se detiene.
S a l u d o s
Error no me sale si lo hace bien, pero los archivos siguen ahí, debe ser otra cosa.
No se quizás el tema es que no puedo entrar en dicho usb a través de la IP, que solo se puedan ver los datos pero no modificar-los.
Lo único que quizás si se podría es entrar en el archivo csv. Y borrar lo de dentro, no se, como lo ves?
¿Qué error te envía?
Si no se pueden leer los archivos, tampoco se podrán abrir y borrar.
Prueba nuevamente con esta:
Sub BorrarTodosCsv() 'Por.Dante Amor ruta = "\\192.168.1.118\disk\usb1\trend\COMPARACIO\" arch = "*.csv" Kill ruta & arch MsgBox "Archivos Borrados" End Sub
Y revisa los nombres de las carpetas.
Leerlos si, porque yo los exporto sin ningún problema:
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://192.168.1.118/disk/usb1/trend/COMPARACIO/COMPARACIO.csv", Destination:=Range( _
"COMPARACIO!$A$1"))
.Name = "COMPARACIO_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
El tema seria después de exportarlos borrarlos.
Vamos a probar con un solo archivo, cambia en la macro "un_nombre_ejemplo.csv", por un nombre de archivo que sepas que existe en la IP
Sub BorrarTodosCsv() 'Por.Dante Amor ruta = "\\192.168.1.118\disk\usb1\trend\COMPARACIO\" arch = "un_nombre_ejemplo.csv" Kill ruta & arch MsgBox "Archivos Borrados" End Sub
- Compartir respuesta