Resolvamos uma questão constante no que diz respeito a impressão de diversas planilhas, geralmente contendo Dashboards, que precisam ser impressos juntos para nos permitir tanto rapidez como praticidade.
Quando imprimimos uma sheet no MS Excel, esta é impressa num trabalho de impressão próprio, mas a impressão de várias sheets criam vários trabalhos de impressão.
Neste artigo verá descrito um código que pode ser usado para imprimir várias planilhas como um único trabalho de impressão. O primeiro parâmetro para todas as funções é chamado de visualização e indica se as folhas devem ser exibidas na janela de pré-visualização (Preview = True) ou enviadas diretamente para a impressora ativa (Preview = False).
Esta Procedure tem como parâmetros os nomes das planilhas a serem impressas:
PrintSheets False, "Sheet1", "Sheet3", "Sheet5"
Este código imprime as planilhas: Sheet1, Sheet3, e Sheet5, vejoa o código do procedimento PrintSheets mostrado abaixo.
Sub PrintSheets (Preview As Boolean, ParamArray SheetNames() As Variant' PrintSheets' Todas as sheets que serão impressas são passadas como parametro.' As sheets que não existirem serão ignoradas.Dim Arr() As StringDim N As LongDim K As LongDim B As VariantDim WS As ObjectIf UBound(SheetNames) >= LBound(SheetNames) ThenReDim Arr(LBound(SheetNames) To UBound(SheetNames))Let K = LBound(SheetNames)For N = LBound(SheetNames) To UBound(SheetNames)On Error Resume NextErr.ClearSet WS = Sheets(SheetNames(N))If Err.Number = 0 ThenLet Arr(K) = SheetNames(N)Let K = K + 1End IfOn Error GoTo 0Next NIf K > 0 ThenReDim Preserve Arr(LBound(Arr) To K - 1)Sheets(Arr).PrintOut Preview:=PreviewEnd IfEnd IfEnd Sub
Fonte: C Person
Tags: André Luiz Bernardes, Microsoft, MOS, MS, Office, Office 2007, Office 2010, automation, automação, print, various print, simultaneously print, multi print,
André Luiz Bernardes
A&A® - Work smart, not hard.