此代码捕获活动窗口并将其粘贴到电源点幻灯片上,方法是通过调用sub PrintScreen
来粘贴数字屏幕截图,之后需要5秒钟才能捕获活动窗口的屏幕。虽然我希望每当我按下像'F7或F3等'的特定键时,它应该采用打印屏幕而不是等待5秒钟。我只想按下键,然后调用sub,在其中指定打印和粘贴以及其他功能。
Sub Screen_Capture_VBA()
Dim Sec4 As Date
MsgBox "Note: Three seconds after you click OK " & _
"the active window will be copied to the clipboard."
Sec4 = DateAdd("s", 4, Now)
myValue = InputBox("Give me no of screen shots you want to capture")
For I = 1 To myValue
PrintScreen
Next I
End Sub
这是我的打印屏幕子。
Sub PrintScreen()
Sleep 5000
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
ActivePresentation.Slides.Add 1, ppLayoutBlank
ActivePresentation.Slides(1).Shapes.Paste
End Sub
答案 0 :(得分:6)
PowerPoint不支持为宏like in Excel指定键盘快捷键。您可以购买第三方应用,例如OfficeOne Shortcut Manager,但更简单的解决方法是将宏添加到快速访问工具栏。
More Commands
Choose commands from
中选择宏 Add >>
按钮OK
然后你可以使用 alt + 1 (或QAT指定的任何数字)来执行 PrintScreen()。按 alt 键一次,查看PowerPoint为您的宏指定的快捷方式号码。
答案 1 :(得分:3)
由于缺乏功能,powerpoint不支持onkey。 因此,尝试在 C ++中编写代码并为其分配密钥并执行代码,例如将 F7 分配给 ALT + PrintScrn 即,当你按F7时,它应该截取你当前窗口的截图。 这是shell执行的代码
Sub PrintScreen()
Dim sFullPathToExecutable As String
sFullPathToExecutable = "C:\Users\abc.exe"
Shell sFullPathToExecutable
End Sub