Guardar como en Microsoft Excel VBA
- 
          
            ¿Qué es la función SaveAsen VBA?
- Ejemplo 1: guardar un libro de trabajo
- Ejemplo 2: crear un nuevo libro de trabajo y guardarlo
- Ejemplo 3: Guardar el libro de trabajo activo
- Ejemplo 4: Guardar todos los libros de trabajo activos
- 
          
            Ejemplo 5: Utilice los parámetros de la función SaveAs
- Conclusión
 
VBA proporciona a los desarrolladores una variedad de funciones y características diferentes. Este artículo aprenderá sobre el método SaveAs en VBA.
¿Qué es la función SaveAs en VBA?
    
El método SaveAs guarda un objeto de libro de trabajo en un destino de ruta especificado en Excel VBA. Un libro de trabajo es un archivo de Excel que contiene las hojas en las que está trabajando.
Estos libros de trabajo contienen datos importantes, y podemos usar la función Guardar como para guardarlos en su computadora.
Nota: VBA también tiene una función
Guardarpara guardar un archivo, pero no ocupa una ubicación específica. Además, si desea guardar sin escribir el código, puede hacerlo manualmente usando las opcionesGuardaryGuardar comoen el menúArchivoo usando Ctrl+S.
Sintaxis
La sintaxis de la función SaveAs en VBA es la siguiente:
expression.SaveAs (FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
Veamos los parámetros de la función:
- Expresión: el nombre de la variable representa el objeto del libro. Por ejemplo, podemos usar la variable- ActiveWorkbookpara especificar el libro de trabajo actualmente abierto.
- FileName: Este es el nombre del archivo que desea guardar, incluyendo opcionalmente la ruta. El archivo se guardará en la carpeta actual si no se indica la ruta.
- FileFormat: Esto indica el formato en el que desea guardar el archivo, que también determinará la extensión. Si no se especifica y está guardando su archivo por primera vez, el formato utilizado será la versión de Excel en uso.
- Contraseña: si desea mantener una contraseña en su archivo, puede especificarla aquí en una cadena de- 15caracteres o menos.
- WriteResPassword: esta contraseña se utiliza para la reserva de escritura. Si alguien quiere editar el archivo, deberá proporcionar esta contraseña o se abrirá en modo de solo lectura.
- ReadOnlyRecommended: si se envía- Trueaquí, se mostrará un mensaje cuando se abra el archivo, diciendo que se recomienda abrir este archivo en modo de solo lectura.
- Crear copia de seguridad: se creará un archivo de copia de seguridad si se envía- Trueaquí.
- AccessMode: aquí puede especificar el modo de acceso para guardar, como exclusivo o predeterminado.
- ConflictResolution: este parámetro especifica cómo el método- SaveAsresolverá los conflictos que se produzcan al guardar el archivo. Una opción, por ejemplo, es proporcionar un cuadro de diálogo para que el usuario decida.
- AddToMru: El valor predeterminado para esto es- False, pero puede indicar- Truesi desea agregar este archivo a la lista de usados recientemente.
- TextCodepage: este parámetro se ignora en Excel para todos los idiomas.
- TextVisualLayout: este parámetro también se ignora en Excel para todos los idiomas.
- Local: el valor predeterminado para esto es- False, que guarda el archivo en el idioma de VBA, es decir, inglés de EE. UU. Enviar un- Trueaquí guardará el archivo en el idioma de Microsoft Excel.
Nota: Todos los parámetros de la función
Guardar comoson opcionales y no es necesario escribirlos.
Ahora que conoce la sintaxis del método SaveAs, veamos algunos ejemplos para ayudarlo a comprenderlo mejor.
Ejemplo 1: guardar un libro de trabajo
Este ejemplo muestra cómo puede guardar un libro de trabajo en una ubicación particular utilizando el método SaveAs especificando su nombre. El código para esto es el siguiente:
Sub Example1()
Workbooks("Example.xlsm").SaveAs "D:\Example.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
Ejemplo 2: crear un nuevo libro de trabajo y guardarlo
Aquí hay un ejemplo que creará un nuevo libro de trabajo, le pedirá un nombre al usuario y luego lo guardará. La función Workbooks.Add crea un nuevo libro de trabajo y lo agrega a la lista de libros de trabajo actualmente activos.
La función GetSaveAsFileName obtiene el nombre del archivo del usuario y también se usa para especificar la ruta. Seleccionar manualmente la ruta es útil si queremos una ruta diferente para cada archivo.
El código se da a continuación.
Sub Example2()
Set NewBook = Workbooks.Add
Do
fName = Application.GetSaveAsFilename
'The loop will provide a check for validating the file name
Loop Until fName <> False
NewBook.SaveAs Filename:=fName
End Sub
Ejemplo 3: Guardar el libro de trabajo activo
Este ejemplo muestra cómo puede usar la variable ActiveWorkbook para guardar el archivo abierto actualmente. Mientras proporciona el nombre del archivo en la ruta, deberá concatenarlo usando el operador & y el método ActiveWorkbook.Name, como se muestra en el código a continuación.
Sub Example3()
ActiveWorkbook.SaveAs "D:\Example\" & ActiveWorkbook.Name & ".xlsm"
End Sub
Ejemplo 4: Guardar todos los libros de trabajo activos
Si hay más de un libro de trabajo en el que está trabajando actualmente, aún puede usar la variable ActiveWorkbook para guardarlos todos usando un bucle. Esto se puede hacer usando el siguiente código.
Sub Example4()
Dim Wb As Workbook
For Each Wb In Workbooks
ActiveWorkbook.SaveAs "D:\Example\" & ActiveWorkbook.Name & ".xlsm"
Next Wb
End Sub
Ejemplo 5: Utilice los parámetros de la función SaveAs
En este ejemplo veremos como se especifican la mayoría de los parámetros de la función SaveAs que faltaban en los ejemplos anteriores. Así es como puedes escribirlos en código:
Sub Example5()
Set WB = Workbooks.Add
WB.SaveAs Filename:="D:Example5.xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
Conclusión
Esto resume nuestra discusión sobre la función Guardar como en VBA, que es un lenguaje de programación útil que ahorra un tiempo valioso a los usuarios de Microsoft Office. Esperamos que haya aprendido las diversas formas en que se puede utilizar el método SaveAs para guardar archivos en una ubicación específica.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub