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 String
Dim N As Long
Dim K As Long
Dim B As Variant
Dim WS As Object
If UBound(SheetNames) >= LBound(SheetNames) Then
ReDim Arr(LBound(SheetNames) To UBound(SheetNames))
Let K = LBound(SheetNames)
For N = LBound(SheetNames) To UBound(SheetNames)
On Error Resume Next
Err.Clear
Set WS = Sheets(SheetNames(N))
If Err.Number = 0 Then
Let Arr(K) = SheetNames(N)
Let K = K + 1
End If
On Error GoTo 0
Next N
If K > 0 Then
ReDim Preserve Arr(LBound(Arr) To K - 1)
Sheets(Arr).PrintOut Preview:=Preview
End If
End If
End Sub
Fonte: C Person
Tags: Bernardes, Microsoft, MOS, MS, Office, Office 2007, Office 2010, automation, automação, print, various print, simultaneously print, multi print
Nenhum comentário:
Postar um comentário