Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como guardar un archivo en cualquier escritorio


.

Me preguntan en un foro, como guardar un archivo en cualquier escritorio, es decir lo que se intenta es guardar un fichero, pero como la macro se ejecutará en PC de distintos usuarios es muy complicado determinar la carpeta en la cual cada usuario guardará el archivo es por ello que se decidió guardar en el escritorio de Windows de cada usuario, pero como se hace eso, en esta macro explico como se puede puede guardar un fichero en el escritorio o desktop de Windows de cada usuario.

Seguramente si estás leyendo este post necesitas guardar archivos, mira los siguientes link que pueden ser de utilidad o dar otra idea al respecto.

Macro conecta Excel con Word crea archivo de Word e inserta datos
Macro que autoelimina archivo previo autocopia el fichero
Macro para enviar mail mediante outlook adjuntando archivo en pdf que previamente creo
Macro de Excel que comprime archivos con extensión Zip
Macro copia hoja actual y guarda como con explorador de archivos
Macro hace copia de la hoja activa y la guarda como
Macro que crea y borra archivos
Macro que abre explorador de archivos de Windows
Macro que crea un listado de archivos y subcarpetas de un directorio
Macro para buscar archivo en un directorio si no existe abre explorador de archivos
Macro que determina el nombre de un archivo
Macro para copiar carpetas y archivos

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz 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.

  
El ejemplo se puedes descargar desde el link del final, la macro denominada como guardar un archivo en cualquier escritorio o desktop de Windows, en un primero momento carga en la variable mydesk la dirección o URL del escritorio de cada usuario, posteriormente se carga en la variable nomarchi1 la URL del archivo que está conformada por la dirección del escritorio o desktop del usuario más el nombre que se le da en el ejemplo al archivo, eso se hace con el siguiente código:


mydesk = CreateObject(«wscript.shell»).specialfolders(«desktop») & «»
nomarchi1 = mydesk & «MyExcel.xlsx»

Posterior a ello se hace una copia de la hoja actual y se guarda en el escritorio o desktop de Windows, con ello siempre se podrá guardar un archivo independientemente del usuario que ejecute la macro ya que la dirección variará en función de la cuenta del usuario, lo mencionado se hace con el código que sigue:

ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=nomarchi1, FileFormat:=xlOpenXMLWorkbook

Recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo Formulario que solicita passwordbuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mail, como copiar o exportar tabls de Excel a Word y muchos ejemplos más.


if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}

Código que se inserta en un módulo
Sub GuardarComo()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
mydesk = CreateObject(«wscript.shell»).specialfolders(«desktop») & «»
nomarchi1 = mydesk & «MyExcel.xlsx»
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=nomarchi1, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close True
MsgBox («El archivo se guardo con éxito en » & nomarchi1), vbInformation, «AVISO»
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

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.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends