Pessoal??? Achei algo referente ao meu tópico na net, daí fiz algumas alterações visando atender meus anseios. Ficou até legal, só estou com um pequeno problema que não consigo resolver.
Bom, o código que encontrei e adaptei é este:
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Private Sub Imprimir_Tela_Click()
Dim Wrd As Object, WrdDoc As Object
keybd_event vbKeySnapshot, 1, 0&, 0& 'Captura a tela na forma ativa
DoEvents
Set Wrd = CreateObject("Word.Application") 'Inicia o Word
Wrd.Visible = False 'Deixar o word invisível.
Set WrdDoc = Wrd.Documents.Add ' Prepara o Word para receber a imagem
On Error Resume Next
Wrd.Selection.PasteSpecial 'Cola o documento no Word
'Application.Dialogs(xlDialogPrinterSetup).Show ' Escolher a impressora
Application.Dialogs(xlDialogPrint).Show ' Escolher a impressora
WrdDoc.PrintOut False
End Sub
Coloquei o mesmo no formulário que quero imprimir, assim, quando clico no botão para capturar a tela ele imprime apenas o formulário ativo. Pois bem, o problema vem na hora de imprimir. Ele não me dava a opção de escolher a impressora, dai adicionei, mais uma linha que me dava essa possibilidade. A linha que está ativa no código é a que quero utilizar:
Application.Dialogs(xlDialogPrint).Show ' Escolher a impressora
Porém, quando eu escolho a impressora que desejo imprimir, aparecem 2 telas para salvar. Já utilizando a outra linha:
'Application.Dialogs(xlDialogPrinterSetup).Show ' Escolher a impressora
aparece somente uma tela. Acontece que esta 2ª opção é mais simples que a 1ª opção, por isso o desejo de utilizar a 1ª.
Uma última observação: Na 1ª opção quando fecho a 2ªjanela que se abre e utilizo a 1ª janela que foi aberta, quando mando salvar o documento não é salvo.
Blue eye | MB Intel Extreme DX58SO | Termaltake 775W | I7 950 LGA 1366 (Overclock 5.3 GZ) | Corsair Vengeance 16 GB | WC Corsair H70 | Aerocool Touch 2000 | Razer Mamba 4G | Som Volcano 50W RMS | Cooler Zalmam | HD 2TB | Radeon HD 8670 | Monitor 32'
Postado : 15/09/2012 8:19 pm