Views

Histats

Vitrine

VBA - Definindo a impressora

Alguns dos nossos relatórios, listas, tabelas, textos, comentários podem ser dirigidos diretamente para algumas impressoras, sem que necessariamente sejam úteis, legíveis ou apropriados para outras.

Podemos definir a impressão de certos relatórios por usuário, impedindo que a impressão ocorra numa impressora colorida por exemplo.

Talvez queira enviar certos relatórios diretamente para uma impressora instalada como driver conversor de PDF... Mas...Como?

Sub PrintToPDF()
        Dim originalPrinter

        'MsgBox "A impressora ativa no momento é: " & Chr(13) & Chr(13) & Application.ActivePrinter

        Let originalPrinter = Application.ActivePrinter

        'Application.ActivePrinter = "CutePDF Writer on SERV2:"
        'ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:='"CutePDF Writer on SERV2:",                 Collate:=True

        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="CutePDF Writer on SERV2:",                 Collate:=True

        'Let folder = Environ("Temp")

        Let  Filename = Sheet2.Cells(30, 15).Value & ".pdf"
        Let folder = Environ("Temp")
        Let newHour = Hour(Now())
        Let newMinute = Minute(Now())
        Let newSecond = Second(Now()) + 1
        Let waitTime = TimeSerial(newHour, newMinute, newSecond)

        Application.Wait waitTime

        SendKeys Filename

        'MsgBox "A impressora ativa no momento é: " & Chr(13) & Chr(13) & Application.ActivePrinter

        Let  Application.ActivePrinter = originalPrinter

        'MsgBox "A impressora ativa no momento é: " & Chr(13) & Chr(13) & Application.ActivePrinter
End Sub

Mas talves deseje que o usuário escolha a impressora a usar:

        Let nOpt = Application.Dialogs(xlDialogPrinterSetup).Show

        If nOpt = True Then   
            ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
        Else
            Exit Sub
        End If

André Luiz Bernardes
Google Talk: bernardess@gmail.com
Skype: inanyplace
MSN: bernardess@gmail.com
logo_delicious.gif andrelbernardes

✔ VBA Brazil®

✔ VBA Brazil®
brazilsalesforceeffectiveness@gmail.com
Related Posts Plugin for WordPress, Blogger...
diHITT - Notícias