Macro con Getsaveasfilename no guarda el archivo

Tengo una macro la cual al final imprime el archivo y tiene el comando para guardar como asignando un nombre, quedando las ultimas lineas así:
Application. GetSaveAsFilename
ActiveSheet. PrintOut
End Sub
El problema es que me sale el cuadro para guardar el archivo, pero al asignarle un nombre y la ubicación, le pongo aceptar y es como si lo guardara, ya que, se cierra el cuadro de guardar como... Sin problemas, pero al cerrar el libro me pide si quiero guardar los cambios, ya que, al final, no se ha guardado el archivo en ninguna parte.
Muchas gracias :3
Respuesta
1
Lo que pasa es que no esta guardando, con el método GetSaveAsFilename lo que haces es capturar el nombre, el tipo de archivo y la ubicación donde va a ser guardado, para guardar el archivo tienes que utilizar el método SaveAs y entonces tu código quedaría algo así:
sub tuMacro ()
dim nombreLibro as String
' las lineas de tu codigo
nombreLibro = Application.GetSaveAsFilename("Archivo1", "Archvio de Excel (*.xls), *.xls")
If nombreLibro <> "Falso" Then
ThisWorkbook.SaveAs nombreLibro, xlNormal
End If
ActiveSheet.PrintOut
End Sub
Como puedes observar en el método GetSaveAsFilename he agregado algunos parámetros el primero para sugerir un nombre de archivo, el según para filtrar el tipo de archivo.
Muchas gracias por tu ayuda, me ayudo bastante... Sin embargo quise ir más allá sobre como sugerir el nombre del archivo.
Deje la macro al final así:
Fecha = Format(Date, " DDMMMYYYY")
nombreLibro = Application.GetSaveAsFilename(Range("A6") & Range("C8") & Fecha, "Archivo de Excel (*.xls), *.xls")
If nombreLibro <> "Falso" Then
ActiveWorkbook.SaveAs nombreLibro, xlNormal
End If
ActiveSheet.PrintOut
End Sub
En donde: range A6 contiene la palabra cotización, range C8 tiene el nombre de mis clientes, lo cual la hace una celda variable, y Fecha para guardar el archivo con la fecha del día en formato ddmmmyyyy.
A la hora de guardar el archivo me sugiere el nombre muy bien, pero por una razón que desconozco, solo con algunos clientes, me sugiere el nombre entre comillas, por ejemplo,
"cotización casa royal 02feb2011" por lo que debo borrar las comillas para guardar bien el archivo, es solo con algunos clientes, en otros casos sale sin comillas y funciona perfecto...
Espero se entienda y me puedas ayudar,
Muchas Gracias
He probado la macro y no ha generado el inconveniente que mencionas, prueba construir el nombre sugerido del archivo en una variable y luego si pasarla al GetSaveAsFilename algo como esto:
Fecha = Format(Date, " DDMMMYYYY")
NomSugerido= Range("A6") & Range("C8") & Fecha
nombreLibro = Application.GetSaveAsFilename(NomSugerido, "Archivo de Excel (*.xls), *.xls")
Lo intenté pero sigue pasando con los mismos clientes, que son solo algunos.
De todas maneras me sirvió bastante tu ayuda, había buscado dejar un nombre sugerido al momento de grabar pero no encontré nada, y con esta pregunta que no apuntaba exactamente a eso me ayudaste,
muchas gracias por tu esfuerzo y tiempo :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas