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