есть макрос, который обрабатывает 180 строк. по каждой строке строится график. чтоб потом 180 графиков в виде Jpg/gif/bmp/... можно было посмотреть/распечатать, хочу сделать скрин,. посмотрел темы на этом форуме и других. но ничего работающего не нашел. только вот такой код. может у кого есть. что посоветовать
#If VBA6 Then
Private Const vbPicTypeBitmap As Long = 1
Private Const vbSrcCopy As Long = &HCC0020
Private Const HORZRES As Long = 8
Private Const VERTRES As Long = 10
#End If
#If VBA6 Then
Public Function CaptureScreen() As IPictureDisp
Dim hWndScreen As Long
Dim hDCScreen As Long
Dim nWidth As Long, nHeight As Long
hWndScreen = GetDesktopWindow()
hDCScreen = GetWindowDC(hWndScreen)
nWidth = GetDeviceCaps(hDCScreen, HORZRES)
nHeight = GetDeviceCaps(hDCScreen, VERTRES)
ReleaseDC hWndScreen, hDCScreen
Set CaptureScreen = CaptureWindow(hWndScreen, False, 0, 0, _
nWidth, nHeight)
End Function
#Else
сюда переместить уже существующую функцию CaptureScreen
#End If
В итоге имеете функцию CaptureScreen, которой можно воспользоваться, например, для сохранения скриншота в .bmp-файл:
SavePicture CaptureScreen, "C:\Temp\Screenshot.bmp"
#If VBA6 Then
Private Const vbPicTypeBitmap As Long = 1
Private Const vbSrcCopy As Long = &HCC0020
Private Const HORZRES As Long = 8
Private Const VERTRES As Long = 10
#End If
#If VBA6 Then
Public Function CaptureScreen() As IPictureDisp
Dim hWndScreen As Long
Dim hDCScreen As Long
Dim nWidth As Long, nHeight As Long
hWndScreen = GetDesktopWindow()
hDCScreen = GetWindowDC(hWndScreen)
nWidth = GetDeviceCaps(hDCScreen, HORZRES)
nHeight = GetDeviceCaps(hDCScreen, VERTRES)
ReleaseDC hWndScreen, hDCScreen
Set CaptureScreen = CaptureWindow(hWndScreen, False, 0, 0, _
nWidth, nHeight)
End Function
#Else
сюда переместить уже существующую функцию CaptureScreen
#End If
В итоге имеете функцию CaptureScreen, которой можно воспользоваться, например, для сохранения скриншота в .bmp-файл:
SavePicture CaptureScreen, "C:\Temp\Screenshot.bmp"