Excel 2010 で特定の範囲のスクリーン ショットを取得できる VBA コードを探しています。
現在、Excel で範囲を選択してコピーすると、ビューが実際の画面ビューから歪んでいます。
ご不明な点がございましたらお知らせください。よろしくお願いいたします。
http://support.microsoft.com/kb/240653
このリンクは、私が必要としていたものに対して完全に機能しました。
64 ビットのコード全体は次のとおりです。
Private Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare PtrSafe Function GetVersionExA Lib "kernel32" _
(lpVersionInformation As OSVERSIONINFO) As Integer
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Dim blnAboveVer4 As Boolean
Sub takeScreenShot()
If blnAboveVer4 Then
keybd_event VK_SNAPSHOT, 0, 0, 0
Else
keybd_event VK_SNAPSHOT, 1, 0, 0
End If
End Sub