Macro para guardar archivo con nombre específico y abrir carpeta

Soy nuevo en el foro y en el manejo de los macros.

Necesito crear un macro que guarde el archivo con un nombre específico (se encuentra en la celda "U7") y como destino el escritorio. El problema es que según la PC, no siempre el disco es "C:\".

¿Hay alguna forma de hacerlo?

1 Respuesta

Respuesta
1

Ahora te mando la solución un momento

Te mando mi solución con esta macro:

Sub ejemplo()
'por luismondelo
On Error GoTo salida
unidad = InputBox("introduzca la unidad de disco que contiene su escritorio" & Chr(13) & "solo tiene que poner la letra sin los dos puntos", Default:="c")
If unidad = "" Then Exit Sub
nombre = ActiveSheet.Range("u7").Value
ActiveWorkbook.SaveAs unidad & ":\Users\Luis\Desktop\" & nombre, FileFormat:=xlOpenXMLWorkbookMacroEnabled
MsgBox "El archivo se ha guardado en el Desktop de la unidad " & unidad
Exit Sub
salida:
MsgBox "ha ocurrido algún error, revise los datos y empiece de nuevo"
End Sub

recuerda finalizar la consulta

Luis muchas gracias! Sabés que me da error. Inclusive ante la duda puse la ruta de mi escritorio.

Gracias,

Tengo que enviar esta planilla a varias PC. La verdad es que no todos saben cuál es la ruta de su escritorio y necesito hacerla casi automatizada....

El cuadro que pide la unidad de disco es muy práctica!! El problema es que si debo pedirle a cada uno que introduzca la ruta de su escritorio, no muchos lo sabrán hacer (y son 120 usuarios, a muchos kms de distancia!!)

Disculpa pero en la pregunta que aparece no hay que introducir la ruta, solo hay que introducir la unidad, es decir, una letra: C, D... E...

Además hay que tener en cuenta el al ruta del escritorio puede cambiar en los distintos ordenadores, eso lo hace un poco más dificil

Si, entendí. Pero mi unidad es C (y lo introduje sin puntos ni \), de todas maneras aparece el error. Pensé que al estar la ruta de tu escritorio en el macro podía ser eso lo que me daba error, pero al poner mi ruta tampoco dejó de darme error. No sé si me expliqué....

ActiveWorkbook.SaveAs unidad & ":\Users\Luis\Desktop\" & NOMBRE,

Gracias

Correcto ese es el problema. Esa es mi ruta.

Estoy pensando un poco..

Muchas gracias por tu tiempo Luis!

Te propongo esta solución:

Sub ejemplyo()
'por luismondelo
On Error GoTo salida
Set navegador = CreateObject("shell.application")
carpeta = navegador.browseforfolder(0, "SELECCIONE SU CARPETA DE ESCRITORIO POR FAVOR" & Chr(13) & "Debe empezar la búsqueda desde equipo en adelante", 0, "equipo").items.Item.Path
nombre = ActiveSheet.Range("u7").Value
ActiveWorkbook.SaveAs carpeta & "\" & nombre, FileFormat:=xlOpenXMLWorkbookMacroEnabled
MsgBox "El archivo se ha guardado en el Desktop de la unidad " & unidad
Exit Sub
salida:
MsgBox "ha ocurrido algún error, revise los datos y empiece de nuevo"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas