Página 1 de 1

VBA com printscreen

Enviado: 18 Out 2017 às 16:17
por JulianaMizu
Boa tarde Pessoal!

Estou montando um painel que atualiza de hora em hora, e precisava enviar essa informação automatica por e-mail, já montei o código de envio, porém não consegui printar a imagem para jogar no outlook, desconfio que isso não seja possivel porque a função seja do computador e não do excel, alguém conhece alguma forma de printar a imagem do excel e jogá-la como imagem no outlook?

Re: VBA com printscreen

Enviado: 18 Out 2017 às 23:24
por babdallas

Re: VBA com printscreen

Enviado: 19 Out 2017 às 07:24
por alexandrevba
Bom dia!!

De onde exatamente vem o printscreen, de um Userform, uma guia?

Fontes...
https://officetricks.com/print-screen-s ... te-in-vba/
Código: Selecionar todos
Option Explicit

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long

Private Const WM_CLOSE = &H10
Private Const VK_MENU = &H12
Private Const VK_SNAPSHOT = &H2C
Private Const KEYEVENTF_KEYUP = &H2

Public Sub SaveImageActiveWindow()
'////////////////////////////////
'// Ivan F Moala //
'// http://www.xcelfiles.com //
'// For my friend Colo //
'////////////////////////////////

Dim Altscan As Double
On Error GoTo ErrHandler

'// Copy picture into the clip board.
Altscan = MapVirtualKey(VK_MENU, 0)
keybd_event VK_MENU, Altscan, 0, 0

keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_MENU, Altscan, KEYEVENTF_KEYUP, 0

Application.Wait Now + TimeSerial(0, 0, 1)
SavePicture PastePicture(xlBitmap), "C:\Test.bmp"
Exit Sub

ErrHandler:
'// Error handling
MsgBox Err.Number & ":= " & Err.Description

End Sub

Private Sub UserForm_Click()
SaveImageActiveWindow
MsgBox "Done !"
End Sub
Att