Hallo,
auf dieser Webseite wird erläutert welche Methoden es gibt, von VBA aus einen Screenshot zu erstellen.
Die SendKeys-Methoden würde ich nicht empfehlen. Besser ist der direkte API-Aufruf:
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 Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Sub AltPrintScreen()
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End Sub
Diese Sub erstellt ein Screenshot vom aktiven Fenster und speichert das Bild in der Zwischenablage.
Die weitere Vorgehensweise hängt vom externen Programm ab.
LG, Ben
|