Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Logo Excel Avanzado

Application.GetSaveAsFilename VBA

| 1 comentario

El método Application.GetSaveAsFilename hace que se nos muestre el cuadro de dialogo de “guardar como”, completamente igual a la acción real; la diferencia es que este método nos retorna solamente el string de texto resultado de la interacción con el cuadro de diálogo, mas no guarda el archivo en realidad. Dicho string de texto no es más que la ruta en la cual habría sido guardado el archivo de usarse el verdadero guardar como.

El método cuenta con 4 argumentos, los cuales detallaremos a continuación:

·         InitialFilename: El nombre de archivo que será sugerido (ya estará escrito de antemano) para el proceso de guardado

·         FileFilter: El tipo de archivo y su correspondiente extensión para estar ya escritas en el cuadro de extensión de archivo, pueden ser múltiples

·         FIlterIndex: Opcional. De ser omitida usa el primero de la lista ingresada en FileFilter, en caso contrario se ingresa un numero entero igual al índice del elemento a utilizar

·         Title: El título del cuadro de diálogo, si es omitido se usa “Guardar como”

Este método puede ser utilizado por la gerencia de empresas con numeroso personal, en la cual la dirección de la empresa debe asegurarse que los recibos de proveedores son guardados en la carpeta con la fecha correspondiente.

Las empresas pueden contar con este método, el cual derivaría en una función  condicional, es decir, si la ruta de guardado muestra la carpeta con la fecha correspondiente, procede a guardarlo de inmediato mediante un botón.

Por otro lado, si la ruta de guardado nos presenta una carpeta que no coincide con la fecha correspondiente, se procede a reiniciar el proceso mediante otro botón. Este método es de utilidad para aquellas empresas que quieren tener exhaustivo cuidado con el proceso de guardado en las carpetas, especialmente aquellas empresas que guardan numerosos archivos o cuentan con numeroso personal, en estas empresas si los archivos se encuentran guardados de forma desorganizada será muy dificultoso hacer un cuadre de cuentas.

Descargar: Ejemplo Application.GetSaveAsFilename

Por: Alvaro Mena

Ejemplos de Application.GetSaveAsFilename

Application.GetSaveAsFilename es muy útil y permite indicar el nombre del archivo a guardar. Puedes incluir un camino completo o tener la posibilidad de que el Excel lo interprete automáticamente; Si no indica el camino completo, Microsoft Excel guarda el archivo en la carpeta actual.

Veamos los siguientes ejemplos en los que podemos observar su uso 

Ejemplo 1

Sub GetSaveasFilename()

Dim fileSaveName As String

fileSaveName = Application.GetSaveasFilename(fileFilter:="Excel Files (*.xls), *.xls")

If fileSaveName <> False Then

ActiveWorkbook.SaveAs (fileSaveName)

MsgBox "El libro está guardado en :" & fileSaveName

End If

End Sub

Ejemplo 2

Este ejemplo, por otro lado, crea un nuevo libro de trabajo, solicita un nombre de archivo para después guardar el libro de trabajo:

 

Sub GuardarComo ()

Set NewBook = Workbooks.Add 

Do 

fName = Application.GetSaveAsFilename 

Loop Until fName <> False 

NewBook.SaveAs Filename:=fName

End Sub

Ejemplo 3

Por último, con este ejemplo creamos la ruta completa, pero también se aprecia la posibilidad de anular la operación.

Sub AnularOperación()

Dim FileSaveName As Variant

FileSaveName = Application.GetSaveAsFilename( _

Filefilter:="Libro de Microsoft Office Excel (*.Xls), *.Xls," & "Ficheros de TEXTO (*.TXT), *.TXT", _

Title:="Querido Presidente:", _

InitialFileName:="MyLibro0302", _

FilterIndex:=1)

'Si Anulamos la operación con Cancelar...

If FileSaveName = False Then

MsgBox "El libro no será guardado ", vbInformation + vbOKOnly, "ATENCION:"

Exit Sub

End If

ActiveWorkbook.SaveAs Filename:=FileSaveName

End Sub

Ejemplos creados por Sergio Palomino 

 

Un comentario

  1. He probado los ejemplos y, es curioso pero, a veces funcionan y a veces no.
    Da "error 13, los tipos no coinciden"
    ¿Por qué puede ser?

Deja una respuesta

Los campos requeridos estan marcados con *.