0

Excel 2010 で特定の範囲のスクリーン ショットを取得できる VBA コードを探しています。

現在、Excel で範囲を選択してコピーすると、ビューが実際の画面ビューから歪んでいます。

ご不明な点がございましたらお知らせください。よろしくお願いいたします。

4

1 に答える 1

1

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
于 2012-08-11T23:37:42.130 に答える