Archivo de guardado de VBA - 20 ejemplos sencillos - Ejemplos de código de VBA

Este tutorial de VBA cubre cómo guardar un archivo usando los comandos Guardar y Guardar como en VBA.

Guardar libro de trabajo - VBA

El comando Guardar de VBA guarda un archivo de Excel de manera similar a hacer clic en el icono Guardar o usar el acceso directo Guardar (CTRL + S).

Guardar un libro de trabajo especificado

Para guardar un libro de trabajo, haga referencia al objeto del libro de trabajo y use el comando Guardar.

1 Libros de trabajo ("savefile.xlsm"). Guardar

Guardar el libro activo

Nota: Este es el libro de trabajo activo actual del código VBA, que es diferente de ThisWorkbook, que contiene el código en ejecución.

1 ActiveWorkbook.Save

Guardar el libro de trabajo donde se almacena el código

1 ThisWorkbook.save

Guardar todos los libros abiertos

Esto recorrerá todos los libros abiertos, guardando cada uno.

12345 Dim wb como libro de trabajoPara cada wb en la aplicación.wb.GuardarSiguiente wb

Guarde todos los libros abiertos que no se abrieron como de solo lectura

Nota: abrir un libro de trabajo en modo de solo lectura evita que el archivo se guarde.
Para guardar el archivo, deberá usar Guardar como y guardar el archivo con un nombre diferente.

1234567 Dim wb como libro de trabajoPara cada wb en la aplicación.Si no es wb ReadOnly entonceswb.GuardarTerminara siSiguiente wb

Guardar un libro de trabajo definido por una variable

Esto guardará un libro de trabajo que se asignó a una variable de objeto de libro de trabajo.

1234 Dim wb como libro de trabajoestablecer wb = workbooks ("savefile.xlsm")wb.save

Guardar un libro de trabajo definido por una variable de cadena

Esto guardará un libro de trabajo cuyo nombre se guardó en una variable de cadena.

1234 Atenuar wbstring como cadenawbstring = "savefile.xlsm"libros de trabajo (wbstring) .save

Guarde un libro de trabajo definido por el orden en que se abrió.

Nota: El primer libro de trabajo abierto tendría 1, el segundo 2, etc.

1 libros de trabajo (1) .save

Guardar un libro de trabajo basado en un valor de celda

Esto guardará un libro de trabajo cuyo nombre se encuentra en un valor de celda.

1234 Atenuar wbstring como cadenawbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). valuelibros de trabajo (wbstring) .save

Guardar como - VBA

El comando Guardar como de VBA guarda un archivo de Excel como un archivo nuevo, similar a hacer clic en el icono Guardar como o usar el acceso directo Guardar como (Alt> F> A).
Arriba, identificamos todas las formas de especificar qué libro de trabajo guardar. Puede usar exactamente esos mismos métodos para identificar libros de trabajo cuando use Guardar como.

Guardar como se comporta de manera similar a Guardar, excepto que también debe especificar el nombre del nuevo archivo.
De hecho, Guardar como tiene muchas variables potenciales para definir:

Sintaxis SaveAs:

123 objeto de libro de trabajo .SaveAs (FileName, FileFormat, Password, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local)

A continuación se incluye una descripción completa de todos los argumentos SaveAs. Por ahora nos centraremos en los ejemplos más habituales.
Nota: Estos argumentos se pueden ingresar como una cadena entre paréntesis o como variables definidas.

Guardar como ejemplos de sintaxis:

Libro de trabajo Guardar como: mismo directorio

1 ActiveWorkbook.SaveAs Filename: = "nuevo"

o

1 ActiveWorkbook.SaveAs "nuevo"

o

1234 Atenuar wbstring como cadenawbstring = "nuevo"Nombre de archivo ActiveWorkbook.SaveAs: = wbstring

Libro de trabajo Guardar como - Nuevo directorio

1 ActiveWorkbook.SaveAs Filename: = "C: \ new"

o

1234 Atenuar wbstring como cadenawbstring = "C: \ new"Nombre de archivo ActiveWorkbook.SaveAs: = wbstring =

Libro de trabajo Guardar como - Nuevo directorio, especificar extensión de archivo

1 ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx"

o

1234 Atenuar wbstring como cadenawbstring = "C: \ new.xlsx"Nombre de archivo ActiveWorkbook.SaveAs: = wbstring

Libro de trabajo Guardar como - Nuevo directorio, especificar extensión de archivo - Método alternativo

También puede especificar el formato de archivo en su propio argumento.

1234 .xlsx = 51 '(52 para Mac).xlsm = 52 '(53 para Mac).xlsb = 50 '(51 para Mac).xls = 56 '(57 para Mac)
1 ActiveWorkbook.SaveAs Filename: = "C: \ new", FileFormat: = 51

Libro de trabajo Guardar como: agregar contraseña para abrir archivo

1 ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx", Contraseña: = "contraseña"

Guardar como libro de trabajo: agregar contraseña para privilegios de escritura

Si no se proporciona la contraseña correcta, el libro de trabajo se abre como de solo lectura

1 ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx", WriteRes: = "contraseña"

Libro de trabajo Guardar como: solo lectura recomendado

TRUE para mostrar un cuadro de mensaje que recomienda que el archivo se abra como de solo lectura.

1 ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE

Otros ejemplos de Guardar como

Crear cuadro de diálogo Guardar como

Esto genera el cuadro de diálogo Guardar como, que solicita al usuario que guarde el archivo.
Tenga en cuenta que este código simple puede no ser apropiado en todos los casos.

1 Application.GetSaveAsFilename

Crear cuadro de diálogo Guardar como con el nombre de archivo predeterminado proporcionado

1 Application.GetSaveAsFilename InitialFilename: = "test.xlsx"

Crear cuadro de diálogo Guardar como con el nombre de archivo predeterminado proporcionado

1 Application.GetSaveAsFilename InitialFilename: = "test.xlsx"

Crear y guardar un libro de trabajo nuevo

Esto creará un nuevo libro de trabajo y lo guardará inmediatamente.

123456 Dim wb como libro de trabajoEstablecer wb = Workbooks.AddApplication.DisplayAlerts = Falsowb.SaveAs Filename: = ”c: \ Test1.xlsx”Application.DisplayAlerts = True

Desactivar guardar alertas

Mientras trabaja para guardar en VBA, puede encontrar varias advertencias o avisos de guardado. Para deshabilitar las advertencias, agregue esta línea de código:

1 Application.DisplayAlerts = Falso

y para reactivar alertas:

1 Application.DisplayAlerts = True
wave wave wave wave wave