Hallo Zusammen,
für eine PowerPoint-Vorlage benötige ich ein VBA-Makro, mit dem ich ein Screenshot aus der Zwischenablage in ein Bild-Steuerelement einfügen kann. Die Präsentation sollte dabei aus dem Bearbeitungsmodus herausspringen. Für das automatische Erstellen eines Screenshots habe ich bereits die folgenden Makros erstellt. Diese liegen in einem Standardmodul. Die Prozedur "Screen Copy" wird über einen CommandButton aufgerufen:
' API-Deklarationen:
Private Declare Sub keybd_event _
Lib "User32" ( _
ByVal byteVirtualKeycode As Byte, _
ByVal byteScan As Byte, _
ByVal lFlags As Long, _
ByVal lExtraInfo As Long)
Private Const KEYEVENTF_KEYUP As Long = &H2 ' Taste lösen
Private Const VK_MENU As Byte = &H12 ' Alt-Taste
Private Const VK_SNAPSHOT As Byte = &H2C ' Druck/PrtScrn-Taste
Public Sub ScreenCopy(Optional ByVal ActiveWindow As Boolean = False)
' Überträgt eine Bildschirmkopie des Desktops (ActiveWindow = False)
' oder des aktiven Fensters (ActiveWindow = True) in die Zwischenablage.
If ActiveWindow Then
' Nur das aktive Fenster abfotografieren
' => Alt-Taste einbeziehen
keybd_event VK_MENU, 0, 0, 0 ' Alt 'runter
keybd_event VK_SNAPSHOT, 0, 0, 0 ' Druck ' runter
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0 ' Druck hoch
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0 ' Alt hoch
Else
' Den gesamten Desktop abfotografieren
keybd_event VK_SNAPSHOT, 0, 0, 0 ' Druck ' runter
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0 ' Druck hoch
End If
End Sub
Über ein Rückmeldung würde ich mich sehr freuen !
Vielen Dank schon mal !
|