Excel VBA Guardar como

Si es un usuario frecuente de Microsoft Excel, debe haber utilizado la función Guardar como, que le permite guardar el libro abierto actualmente con un nombre diferente o un formato diferente (Excel Macro habilitado, CSV, PDF, etc.). También puede guardar el archivo en una carpeta diferente con este método. Sin embargo, ¿es posible usar la misma función en VBA? La respuesta es un absoluto ¡Sí! También tenemos la función Guardar como en VBA, que nos ayuda a hacer todas estas tareas mencionadas anteriormente junto con algunos beneficios adicionales (obviamente, automatizar las cosas es uno de los beneficios). En este artículo, vamos a ver diferentes ejemplos de la función VBA SAVE AS.

Fórmula para la función Guardar como en Excel VBA

Veamos a continuación la fórmula para la función Guardar como en VBA.

Dónde,

  • FileName : nombre del libro de trabajo que se guardará.
  • FileFormat : formato de archivo en el que se debe guardar el archivo (Ej. Pdf, CSV, etc.)
  • Contraseña : contraseña para proteger el libro (no se puede acceder al libro sin una contraseña)
  • WriteResPassword : escriba la contraseña de reserva para el libro de trabajo.
  • ReadOnlyRecommended : reconoce si el libro de trabajo se guarda en formato de solo lectura o no.
  • CreateBackup : determina si se crea o no un archivo de copia de seguridad para el libro.
  • AccessMode : reconoce el modo de acceso para el libro de trabajo.
  • ConflictResolution : reconoce los conflictos que aparecen cuando el libro se comparte y es utilizado por más de un usuario.
  • AddToMru - Comprueba si el libro de trabajo se agrega bajo un archivo usado recientemente o no.
  • Local : comprueba si el libro de trabajo se guarda con las leyes de Excel (idioma local) o con las leyes de VBA (EE. UU. - Inglés).

¡Silencio! Muchos argumentos ¿verdad? Pero qué pasa si te digo, todos estos argumentos son opcionales y se pueden omitir mientras se usa la función VBA SAVE AS. Sin embargo, es cierto que estos son los argumentos que hacen que VBA SaveAs sea una función más flexible de usar. La "expresión" al comienzo de la sintaxis no es más que una expresión contra la cual se puede utilizar esta función. Like Workbook es la expresión contra la cual se puede usar SaveAs.

Ejemplos para guardar archivos de Excel con la función Guardar como de VBA

A continuación se muestran los diferentes ejemplos para guardar archivos de Excel utilizando la función VBA Guardar como.

Puede descargar esta plantilla VBA Guardar como Excel aquí - Plantilla VBA Guardar como Excel

Ejemplo # 1 - ¿Cómo guardar una copia del libro con un nombre diferente?

Veamos cómo podemos guardar el libro de trabajo actual con un nombre diferente.

Siga los pasos a continuación para usar la función Guardar como en Excel VBA:

Paso 1: agregue un nuevo módulo en Visual Basic Editor (VBE). Vaya a Insertar y luego seleccione Módulo.

Paso 2: defina un nuevo subprocedimiento que pueda almacenar una macro.

Código:

 Sub SaveAs_Ex1 () End Sub 

Paso 3: defina una nueva variable que pueda contener el nombre con el que se guardará el archivo.

Código:

 Sub SaveAs_Ex1 () Dim newName As String End Sub 

Paso 4: Ahora use el operador de asignación para asignar un nombre a esta variable usando el archivo actual como se puede guardar.

Código:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" End Sub 

Paso 5: Ahora, use la función SaveAs con el argumento FileName para guardar el archivo con el nombre "Ejemplo1".

Código:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" ActiveWorkbook.SaveAs Filename: = newName End Sub 

Paso 6: Esto es todo, ahora ejecute este código presionando F5 o manualmente usando el botón Ejecutar y vea el resultado.

Puede ver que un archivo con el nombre " Ejemplo1 " se está guardando en Documentos .

Si pudo haber anotado, el archivo se está guardando como Archivo habilitado para macros, porque el archivo original en el que he utilizado la función Guardar como es un archivo con Macro habilitado. Significa que esta función en VBA verifica automáticamente el formato de archivo del archivo anterior y lo guarda en el mismo formato. Además, de manera predeterminada, el archivo se guardará en Documentos en Esta PC . Esta ubicación predeterminada se puede proporcionar explícitamente al momento de definir el nombre de la hoja.

Ejemplo # 2 - Guardar libro de trabajo con nombre proporcionado por el usuario

En lugar de definir el nombre inicialmente, ¿es posible escribir un código que permita al usuario guardar la hoja de trabajo con el nombre de su elección al igual que la función Guardar como de Excel?

Siga los pasos a continuación para usar la función Guardar como en Excel VBA.

Paso 1: defina un nuevo subprocedimiento en el módulo recién insertado que puede almacenar la macro.

Código:

 Sub SaveAs_Ex2 () End Sub 

Paso 2: defina una nueva variable que pueda contener el valor del nombre definido por el usuario.

Código:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant End Sub 

La razón por la que esta variable se define como Variante es que este tipo de datos hace que las convenciones de nomenclatura sean versátiles. Por ejemplo, un usuario puede agregar algunos caracteres especiales adicionales (que están permitidos en las convenciones de nomenclatura) o también puede agregar fechas bajo el nombre del archivo.

Paso 3: Ahora, con la ayuda de un operador de asignación y una combinación de funciones llamada application.GetSaveAsFilename, haga una declaración que permita que el sistema tome un nombre definido por el usuario. Vea cómo se ha logrado en la captura de pantalla a continuación.

Código:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename End Sub 

Paso 4: use IF condicional para asegurarse de que el nombre que ingrese el usuario sea válido según las convenciones de nomenclatura.

Código:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Then End Sub 

Esta condición verifica si el nombre dado por el usuario para guardar la hoja de trabajo satisface adecuadamente las convenciones de nomenclatura establecidas para nombrar un archivo o no.

Paso 5: Escriba una declaración que se evalúa para la condición IF dada.

Código:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Then ActiveWorkbook.SaveAs Filename: = Spreadsheet_Name End Sub 

Este código se evalúa una vez que la condición IF es verdadera. Si es así, el libro activo se guardará con el nombre definido en la variable Spreadsheet_Name (que será definido por el usuario)

Paso 6: Finalice el bucle IF y ejecute este código para ver la salida.

Código:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Then ActiveWorkbook.SaveAs Filename: = Spreadsheet_Name End If End Sub 

Paso 7: Tan pronto como ejecute este código, aparecerá el cuadro de diálogo Guardar como que le permitirá escribir el nombre de su elección y guardar el archivo.

Ejemplo # 3 - ¿Cómo guardar como un archivo en PDF usando la función Excel VBA SaveAs?

Suponga que tiene los datos que se detallan a continuación en su hoja de Excel y necesita convertirlos a PDF.

Siga los pasos a continuación para convertir este archivo a PDF utilizando la función Guardar como de VBA:

Paso 1: defina un nuevo subprocedimiento para almacenar una macro.

Código:

 Sub SaveAs_PDF_Ex3 () End Sub 

Paso 2: Ahora, use el siguiente código para guardar este archivo como un archivo PDF.

Código:

 Sub SaveAs_PDF_Ex3 () ActiveSheet.SaveAs Filename: = "Vba Save as.pdf" End Sub 

Paso 3: Ejecute este código y verá un archivo pdf generado en Esta PC> Documentos.

En este código, ActiveSheet.SaveAs permite que el archivo se guarde con el mismo nombre. Como hemos agregado la extensión como .pdf al final del archivo, se exporta a un archivo PDF. Puede ver la imagen de arriba para su referencia.

Cosas para recordar

  • La ubicación de guardado predeterminada para el archivo utilizado en VBA SaveAs será Esta PC> Documentos. Sin embargo, puede especificar el directorio manualmente al momento de definir el nombre del archivo.
  • Por defecto, el archivo guardado usando VBA SaveAs se guardará en el mismo formato que el archivo original. Sin embargo, también se puede definir según los requisitos del usuario en el momento en que define la variable.

Artículos recomendados

Esta es una guía para VBA Guardar como. Aquí discutimos cómo guardar el archivo usando la función Guardar como de Excel VBA junto con un ejemplo y una plantilla de Excel descargable. A continuación se presentan algunos artículos útiles de Excel relacionados con VBA:

  1. VBA Exit Sub
  2. Crear una hoja de cálculo en Excel
  3. Objeto VBA
  4. Excel Autoguardado

Categoría: