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