Capturar pantalla desde macro

Me interesaría realizar una captura de pantalla desde una macro de Excel (o Word). Mi idea es capturar la imagen de la pantalla del documento o libro justo al salir de la aplicación, y por supuesto, que esta imagen capturada quede pegada en una de las páginas o hojas del documento antes de salir. He probado la opción SendKeys, pero con la tecla Impr Pant no he tenido éxito
¿Puedes orientarme un poco más?.
1

1 Respuesta

200.775 pts.
'En teoria deberia de funcionar el SendKeys pero así son las
'aplicaciones de Microsoft, pero con API funciona muy bien,
'te dejo de tarea el que lo haga antes de salir (casi nada), saludos...
Option Explicit
Private Declare Function MapVirtualKey Lib "user32" _
Alias "MapVirtualKeyA" (ByVal wCode As Long, _
ByVal wMapType As Long) As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Private Const VK_MENU = &H12
Private Const VK_SNAPSHOT = &H2C
Private Const KEYEVENTF_KEYUP = &H2
Public Sub CapturaPantalla()
' Press Alt.
keybd_event VK_MENU, 0, 0, 0
DoEvents
' Press Print Scrn.
keybd_event VK_SNAPSHOT, 1, 0, 0
DoEvents
' Release Alt.
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
DoEvents
ActiveSheet. Paste
Selection. ShapeRange. ScaleWidth 0.6, msoFalse, msoScaleFromTopLeft
Selection. ShapeRange. ScaleHeight 0.6, msoFalse, msoScaleFromTopLeft
End Sub
Hola Valedor...
Quisiera darte las gracias por la respuesta que me has ofrecido. De verdad que me ha sido de gran ayuda. Estaba bastante desesperado porque hasta ahora nadie me había dado una respuesta tan convincente como la tuya. Gracias mil. Manuel.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas