Borrar archivos del PC desde un libro excel

Necesito enviar periódicamente el libro TRABAJO.xlsx a un grupo de personas que trabajan en mi departamento. Mi intención es que al abrir el nuevo libro (TRABAJO.xlsx) se borren los libros anteriores (CARTERA.xlsx), que se encuentren en el PC. El problema es que éste libro CARTERA.xlsx se puede encontrar en cualquier carpeta del PC, escritorio, mis documentos... Etc

2 respuestas

Respuesta
2

Si no puedes saber donde va a estar el archivo no puedes automatizarlo. Es más, podría estar en una carpeta oculta, como solo lectura o protegido y entonces ni sabiendo donde está se podría.

Se me ocurre que, si la lista de opciones es pequeña (escritorio y mis documentos) podrías usar el comando "Kill" en vba y contemplar todas las opciones. Esas carpetas siempre están en el mismo sitio y se puede hacer un genérico con un código que obtenga el nombre del usuario del equipo y lo use para construir la ruta. Por ejemplo

Option Compare Database
    Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
    (ByVal lpbuffer As String, nSize As Long) As Long

    Public Function NombreUsuario()
        Dim WS As Object
        Set WS = CreateObject("WScript.network")
        NombreUsuario = WS.UserName
        Set WS = Nothing
    End Function

Luego el kill

Kill "C:\Users\" & NombreUsuario() & "\Desktop\Cartera.xlsx"

Respuesta
1

Entiendo que la opción que me presentas es la que corresponde.

Me sale error en la primera línea ("Se esperaba Text o Binary"):

Option Compare Database

¿Me podrías orientar?

Eliminando esa línea funciona perfectamente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas