Imprimir userform e...
 
Notifications
Clear all

Imprimir userform e enviar por email

3 Posts
1 Usuários
0 Reactions
1,368 Visualizações
Charlie-81
(@charlie-81)
Posts: 290
Reputable Member
Topic starter
 

Pessoal, estive pensando....

Quero um botão para imprimir o form ativo e enviá-lo por email.
Quem se habilita a ajudar.

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 : 14/09/2012 8:25 pm
Charlie-81
(@charlie-81)
Posts: 290
Reputable Member
Topic starter
 

então... tem condição de se fzer isso?

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 9:30 am
Charlie-81
(@charlie-81)
Posts: 290
Reputable Member
Topic starter
 

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