Imprima todos los libros de trabajo en una carpeta usando VBA en Microsoft Excel

Tabla de contenido

En este artículo, crearemos una macro para imprimir todos los archivos de Excel dentro de una carpeta.

Tenemos algunos archivos de Excel dentro de una carpeta que queremos imprimir. Todos tienen la misma extensión de archivo, ".xlsx"

Explicación del código

Dir (TargetFolder y FileFilter)

El código anterior se usa para obtener el nombre de archivo del primer archivo dentro de la ruta de la carpeta.

Workbooks.Open TargetFolder & FileName

El código anterior se utiliza para abrir el libro de trabajo definido.

ActiveWorkbook.PrintOut

El código anterior se usa para imprimir el libro activo.

Siga a continuación para obtener el código

 Opción Explícita Sub PrintAllWorkbooksInFolder (TargetFolder As String, FileFilter As String) 'Declarando variable Dim FileName As String' Desactivando las actualizaciones de pantalla Application.ScreenUpdating = False 'Añadiendo un separador de ruta al final del nombre de la carpeta de destino Si es correcto (TargetFolder, 1) "\" Entonces TargetFolder = TargetFolder & "\" End If 'Asignando ruta predeterminada al filtro de archivo If FileFilter = "" Then FileFilter = "* .xls"' Obtenga el nombre de archivo del primer archivo en la carpeta FileName = Dir (TargetFolder & FileFilter) Len (FileName)> 0 If FileName ThisWorkbook.Name Then 'Abrir libro de trabajo Workbooks.Open TargetFolder & FileName' Imprime todas las hojas en el libro de trabajo ActiveWorkbook.PrintOut 'Cerrar el libro de trabajo sin guardar ningún cambio ActiveWorkbook.Close False End If' Obtener el nombre de archivo de siguiente archivo en la carpeta FileName = Dir Wend End Sub Sub CallingProcedure () 'Declarando variables Dim FolderPath, FileName As String' Obteniendo valores del cuadro de texto en sheet1 FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextB ox2.Value 'Llamando al procedimiento PrintAllWorkbooksInFolder PrintAllWorkbooksInFolder FolderPath, FileName End Sub 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave