Tabla de contenido
En este artículo, te mostraré cómo puedes imprimir cualquier documento a PDF utilizando VBA en Excel. Utilizaremos el ExportAsFixedForma t método de VBA Discutiré todos los parámetros de este método con ejemplos e ilustraciones.
Imprimir en PDF en Excel VBA (Vista rápida)
Descargar el cuaderno de prácticas
Descárgate este cuaderno de ejercicios para practicar mientras lees este artículo.
VBA Imprimir en PDF.xlsmIntroducción a la sentencia ExportAsFixedFormat
⧭ Visión general:
En ExportAsFixedForma t método de VBA guarda cualquier documento dado en el formato PDF con un nombre dado con VBA Se trata de un método muy útil para quienes trabajan con muchas hojas de cálculo de Excel y las almacenan para utilizarlas en el futuro.
⧭ Sintaxis:
La sintaxis del VBA ExportAsFixedFormat método es:
Document.ExportAsFixedFormat Type, Filename, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish
⧭ Parámetros:
Parámetro | Obligatorio / Optativo | Explicación |
---|---|---|
Tipo | Requerido | Utilice xlTypePDF para archivos PDF o xlTypeXPS para archivos XPS. |
Archivo | Opcional | El nombre del archivo que desea guardar. Introduzca aquí la ruta completa del archivo si desea guardarlo en una ruta distinta a la del libro de trabajo. |
Calidad | Opcional | Indica la calidad del archivo que se va a guardar. Utilice xlQualityStandard para la calidad estándar, o xlQualityMinimum para la calidad mínima. |
IncludeDocProperties | Opcional | Establézcalo como True para incluir las propiedades del documento, o establézcalo como False para no incluir las propiedades del documento. |
IgnorePrintAreas | Opcional | Establezca True para ignorar las áreas de impresión, o False para no ignorar las áreas de impresión. |
En | Opcional | El número de página inicial a partir del cual se empezará a guardar el documento. |
A | Opcional | Establézcalo como True para incluir las propiedades del documento, o establézcalo como False para no incluir las propiedades del documento. |
AbrirDespuésDePublicar | Opcional | Establézcalo como True para abrir el documento después de publicarlo o establézcalo como False. |
⧭ Valor de retorno:
Convierte las hojas de cálculo de un libro de Excel en un documento PDF y lo guarda en la carpeta especificada con el nombre especificado.
5 Ejemplos para imprimir en PDF en Excel VBA con el ExportAsFixedFormat Declaración
Veamos algunos ejemplos de cómo imprimir un documento a PDF en Excel VBA con el ExportAsFixedFormat método.
Ejemplo 1: Imprimir en PDF en Excel VBA sin nombre ni ruta especificados
Aquí tenemos una hoja de trabajo con los registros de libros de una librería llamada Librería Marín.
Escribamos un simple VBA para convertir la hoja de cálculo en un documento PDF, sin especificar nombre ni ruta.
⧭ Código VBA:
Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF End Sub
⧭ Salida:
Ejecute este código y encontrará un archivo PDF con el mismo nombre que su libro de trabajo (Nombre por defecto cuando no se especifica ningún nombre) en la misma carpeta que su libro de trabajo (Carpeta por defecto cuando no se especifica ninguna ruta).
Aquí se denomina Libro1.pdf ya que el nombre de mi libro de trabajo era Libro1 .
Read More: Excel VBA: Cómo establecer el área de impresión de forma dinámica (7 maneras)
Ejemplo 2: Imprimir en PDF en Excel VBA con nombre y ruta especificados
Ahora convertiremos el mismo libro de trabajo en otro archivo PDF especificando el nombre y la ruta.
Guardaré el PDF con el nombre "Librería Martin.pdf" en camino C:³Usuarios³Público³ExcelWIKI en mi ordenador. Así que el VBA código será:
⧭ Código VBA:
Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:_Users\Public\ExcelWIKI\Martin Bookstore.pdf" End Sub
⧭ Salida:
Este código guardará el documento PDF en la ruta C:³Usuarios³Público³ExcelWIKI en mi ordenador con el nombre Librería Martin.pdf .
Más información: Cómo Imprimir el Área Seleccionada en Excel (2 Ejemplos)
Lecturas similares:
- Cómo imprimir títulos en Excel (5 maneras fáciles)
- Imprimir hoja de cálculo con comentarios en Excel (5 maneras fáciles)
- Cómo Imprimir Celdas Seleccionadas en Excel (2 Maneras Fáciles)
- Centrar el área de impresión en Excel (4 maneras)
- Cómo mostrar la vista previa de impresión con Excel VBA (3 macros)
Ejemplo 3: Imprimir en PDF en Excel VBA con la apertura del archivo después de la publicación
Ahora vamos a imprimir el documento a PDF de tal manera que el archivo se abra después de ser publicado. Tenemos que establecer la opción AbrirDespuésDePublicar a Verdadero .
Así que el VBA código será,
⧭ Código VBA:
Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:_Users\Public\ExcelWIKI\Martin Bookstore.pdf", _ OpenAfterPublish:=True End Sub
⧭ Salida:
Este código guardará el documento PDF en la ruta C:\Usuarios\Público\ExcelWIKI en mi ordenador con el nombre Librería Martin.pdf y abrir el archivo en cuanto se publique.
Contenido relacionado: Cómo configurar la vista previa de impresión en Excel (6 opciones)
Ejemplo 4: Imprimir varias hojas de cálculo en varios archivos PDF en Excel VBA
Hasta ahora hemos impreso una sola hoja de cálculo. Esta vez imprimiremos varias hojas de cálculo en varios archivos PDF.
Aquí tenemos un libro de trabajo con 5 hojas de trabajo, cada una de las cuales contiene el registro de libros de una librería determinada.
Esta vez convertiremos todas las hojas de trabajo en archivos PDF.
En VBA código será:
⧭ Código VBA:
Sub Print_Multiple_Sheets_To_PDF() Sheet_Names = InputBox("Introduzca los Nombres de las Hojas de Trabajo a Imprimir en PDF: ") Sheet_Names = Split(Sheet_Names, ", ") For i = LBound(Sheet_Names) To UBound(Sheet_Names) Worksheets(Sheet_Names(i)).ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:³Users\Public\ExcelWIKI\" + Sheet_Names(i) + ".pdf" Next i EndSub
⧭ Salida:
Ejecute el código. Un cuadro de entrada le pedirá que introduzca los nombres de las hojas de cálculo para convertir a PDF. Aquí he introducido Librería Joseph, Librería Morgan, Librería Angela .
Haga clic en OK Y los guardará como archivos PDF en la carpeta C:³Usuarios³Público³ExcelWIKI .
Más información: Cómo Imprimir Varias Hojas en Excel (7 Métodos Diferentes)
Ejemplo 5: Desarrollo de una función definida por el usuario para imprimir en un archivo PDF en Excel VBA
Por último, te mostraré cómo puedes desarrollar una función definida por el usuario para imprimir cualquier hoja de cálculo a PDF con Excel VBA .
Desarrollemos una función llamada PrintToPDF que imprimirá la hoja de cálculo activa en un archivo PDF.
En VBA código será:
⧭ Código VBA:
Function PrintToPDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:_Users\Public\ExcelWIKI\Martin Libreria.pdf" End Function
⧭ Salida:
Introduzca esta función en cualquier celda de su hoja de cálculo.
=Imprimir a PDF()
A continuación, haga clic en INTRODUCE Convertirá la hoja activa ( Librería Martin aquí) a un archivo PDF en la carpeta especificada.
Más información: Excel VBA: Imprimir UserForm para que quepa en una página (2 métodos)
Cosas para recordar
Durante el desarrollo de los códigos, la mayoría de las veces hemos utilizado la función ActiveSheet objeto de VBA Devuelve la hoja de trabajo que está activa en ese momento en el libro activo.
También a veces hemos utilizado la propiedad ActiveSheet.Name Devuelve el nombre de la hoja de cálculo activa.
Conclusión
Así que esta es la manera de imprimir cualquier hoja de cálculo a PDF con VBA en Excel. ¿Tiene alguna duda? No dude en preguntarnos. Y no olvide visitar nuestro sitio web ExcelWIKI para más entradas y actualizaciones.