Страницы: 1
RSS
Как сделать скриншот нужной области (график)
 
есть макрос, который обрабатывает 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"
 
Попробуй без макроса выделить диаграмму и через принтер Microsoft Office Document Image Writer сделать печать в файл, если формат подойдет, то можно будет и макрос сделать.
Пользователи, как школьники, учиться хотят далеко не все, а отличниками становятся единицы.
Проблема - это ситуация, в решении которой человек не заинтересован.
 
"есть макрос, который..."  
"может у кого есть. что посоветовать"  
 
Так чего советовать-то?  
Могу посоветовать посмотреть в сторону sparklines:  
http://www.planetaexcel.ru/tip.php?aid=216
 
А такой вариант не устроит?  
 
Sub test()  
   Dim c As Chart  
   Set c = ActiveSheet.ChartObjects(1).Chart  
   c.Export _  
       Filename:="C:\Temp\Screenshot.bmp", _  
       FilterName:="BMP"  
End Sub
KL
 
Спасибо, вечером сам разобрался. вот код  
 
Sub EXCEL_CHART_TO_FILEJPG()  
 
ActiveWindow.Zoom = 300  
DPI = 300  
ActiveSheet.ChartObjects("Äèàãðàììà 1").Activate  
ActiveChart.Export Filename:="e:/ACTIVECHART 201101408.JPG", FilterName:="JPG", Interactive:=False  
'DPI=96  
'  
End Sub  
 
только вот DPI = 300 или DPI = 92 - все одно. как это можно изменить?
 
Здравствуйте.  
Имеется ли возможность экспортировать с помощью vba две,три сгруппированные диаграммы в gif?  
По методу KL экспортируется только одна. Как быть, если их несколько в одной группе?  
Спасибо.
Страницы: 1
Читают тему
Наверх