Save chart as 800x600 GIf

  • Thread starter Thread starter Fan924
  • Start date Start date
F

Fan924

I found this and it works well. Exports charts as a gif image. I have
had no luck controlling the sixe of the GIF. What can I add to force
the GIF ouput to a 800x600 size?


Sub Save_ChartAsGif()
Dim oCht As Chart
Set oCht = ActiveChart
'ActiveSheet.Name
On erRROR GoTo Err_Chart
oCht.Export FileName:="D:\My Documents\_wip\Pic_" & ActiveSheet.Name &
".gif", Filtername:="gif"
'oCht.Export FileName:="C:\PopularICON.jpg", Filtername:="JPG"
Err_Chart:
If Err <> 0 Then
Debug.Print Err.Description
Err.Clear
End If
End Sub
 
You need to make the chart the proper size in Excel prior to exporting
it. That means it must already be 800x600.

There are 96 pixels per inch in a typical Windows setup (but it might be
different on yours, who knows). This means the image has to be 8.33x6.25
inches. You can set this if you shift click to select the chart (shift
click selects the chart object and puts white handles on the corners,
not black ones). Then on the Format menu, choose Objects..., and on the
size tab of the dialog, enter this size in inches.

In code, you can resize the chart into points (72 points/inch, or 0.75
points/pixel). You need it to be 600x450 points.

Sub Save_ChartAsGif()
Dim oCht As Chart
Set oCht = ActiveChart
'ActiveSheet.Name
On Error GoTo Err_Chart

'------------------------
' resize the chart object
oCht.Parent.Width = 600
oCht.Parent.Height = 450
'------------------------

oCht.Export FileName:="D:\My Documents\_wip\Pic_" & ActiveSheet.Name _
& ".gif", Filtername:="gif"
'oCht.Export FileName:="C:\PopularICON.jpg", Filtername:="JPG"
Err_Chart:
If Err <> 0 Then
Debug.Print Err.Description
Err.Clear
End If
End Sub

- Jon
 
Thanks Jon, my error. It works fine on a chart in a excel file. I had
a chart as a stand alone which was not recizable. Thanks for your help.
 
Back
Top