Imprima todas as pastas de trabalho em uma pasta usando VBA no Microsoft Excel

Anonim

Neste artigo, criaremos uma macro para imprimir todos os arquivos Excel de uma pasta.

Temos alguns arquivos Excel dentro de uma pasta que queremos imprimir. Todos eles têm a mesma extensão de arquivo, “.xlsx”

Explicação do código

Dir (TargetFolder e FileFilter)

O código acima é usado para obter o nome do primeiro arquivo no caminho da pasta.

Workbooks.Open TargetFolder & FileName

O código acima é usado para abrir a pasta de trabalho definida.

ActiveWorkbook.PrintOut

O código acima é usado para imprimir a pasta de trabalho ativa.

Siga abaixo para o código

 Option Explicit Sub PrintAllWorkbooksInFolder (TargetFolder As String, FileFilter As String) 'Declarando variável Dim FileName As String' Desativando atualizações de tela Application.ScreenUpdating = False 'Adicionando separador de caminho no final do nome da pasta de destino If Right (TargetFolder, 1) "\" Then TargetFolder = TargetFolder & "\" End If 'Atribuindo caminho padrão para o filtro de arquivo If FileFilter = "" Then FileFilter = "* .xls"' Obtém o nome do primeiro arquivo na pasta FileName = Dir (TargetFolder & FileFilter) Enquanto Len (FileName)> 0 If FileName ThisWorkbook.Name Then 'Open workbook Workbooks.Open TargetFolder & FileName' Imprime todas as planilhas na pasta de trabalho ActiveWorkbook.PrintOut 'Feche a pasta de trabalho sem salvar nenhuma alteração ActiveWorkbook.Close False End If' Get file name of próximo arquivo na pasta FileName = Dir Wend End Sub Sub CallingProcedure () 'Declarando variáveis ​​Dim FolderPath, FileName As String' Obtendo valores da caixa de texto na planilha1 FolderPath = Planilha1.TextBox1.Value FileName = Planilha1.TextB ox2.Value 'Calling PrintAllWorkbooksInFolder procedimento PrintAllWorkbooksInFolder FolderPath, FileName End Sub 

Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail