画面キャプチャする
VBAでは画面キャプチャも出来てしまうんですね。メモしておきます。
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Public 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_EXTENDEDKEY As Long = &H1 Private Const KEYEVENTF_KEYUP As Long = &H2 Private Const VK_LMENU As Long = &HA4 Private Const fKEYDOWN = KEYEVENTF_EXTENDEDKEY Private Const fKEYUP = KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP ' 画面キャプチャします。 Public Sub U_Capture() ' Alt+PrintScreenキーを押す keybd_event VK_LMENU, 0&, fKEYDOWN, 0& 'Altキーを押す keybd_event vbKeySnapshot, 0&, fKEYDOWN, 0& 'PrintScreenキーを押す Sleep 10 keybd_event vbKeySnapshot, 0&, fKEYUP, 0& 'PrintScreenキーを離す keybd_event VK_LMENU, 0&, fKEYUP, 0& 'Altキーを離す End Sub
スリープを使っているのは、正しいやり方かわかりませんが、時々キャプチャに失敗するのを防ぐためです。
もう少し欲を言えば、キャプチャ対象の画面をスクロールしながらキャプチャできると嬉しいのですが、どうやるのでしょう?