Y para terminar de hacer las cosas bien... porque no consultamos el Registro?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Desktop
Os adjunto las otras variable útiles
Para leer el registro prefiero objetos antes que API's:
Private Sub Form_Load()
Dim Wsh As Object
Set Wsh = CreateObject("WScript.Shell")
Dim tmp As String
tmp = Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Desktop")
MsgBox tmp
End Sub
Ojo que estas rutas son las de AllUsersProfile, lo que pongas ahí se verán en los directorios de TODOS los usuarios de ese PC, se necesitan permisos administrativos para modificar el contenido de esas rutas.
Muchas gracias no lo conocia
Dicen que no es con la funcion Environ y todos la usan
Para eliminar archivos muchas maneras (Apis, Objetos, Funciones) pero ten cuidado con la heuristica y busca mas en google
No hay ninguna variable para sacar la ruta del desktop con el Environ...
Tienes toda la razon, no es la mejor opcion pero:
RutaEscritorio = Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\Escritorio"
No sería mejor usar USERPROFILE en vez de HOMEDRIVE y HOMEPATH???
Ejemplo:
Dim temp1 As String
temp1 = Environ("USERPROFILE") & "\Escritorio"
La verdad si, pero no me di cuenta.