How can I change size of the picture without changing chartobject?

M

Marie J-son

Hi there,

I have this code in a userform and get with it a picture in the same size as
the chartobject - to small. I want a much larger (fill the screen as much as
possible). I can easily solve it by changing size of the chartobject before
export to gif, but i dno't want to do that. I want to change the size of the
gif during or after importing it by LoadPicture.

How?

Help = Forever happy

/Regards

Dim ChartNum As Integer

Private Sub UserForm_Initialize()
Debug.Print "frmPPT initilize "
ChartNum = 1
UpdateChart
End Sub

Private Sub UpdateChart()
Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.GIF"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"

' Show the chart
Image1.Picture = LoadPicture(Fname)

End Sub
 
J

Jon Peltier

Hi Marie -

After this line, resize the Plot Area:

Set CurrentChart = Blad102.ChartObjects(ChartNum).Chart

like this:

With CurrentChart.PlotArea
.Left = 0
.Top = 0
.Width = CurrentChart.ChartArea.Width
.Height = CurrentChart.ChartArea.Height
End With

You may need to adjust slightly, to allow room for the legend, chart title, or axis
titles.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______
 
M

Marie J-son

Hi,

I'm awfully sorry, I should have been better explaining my question. It is
more of a userform question than a chart question - maybe. The code i showed
is lokated in the userform code and the userform is a kind of "chart
viewer" to show charts in the userform as picture. I have some buttons in
the userform etc to move between the charts, but didn't mess my question
with that.

The other option I'm thinking of is using a empty chart fullsize chartarea
or a worksheet with a chartobject filling the whole / most of the cells in
the view.

Please Jon, or any other - feel free to give answers to any of the choices
above., as long as it is a code proven to work well...

Kind regards
 
M

Marie J-son

Thanks, i'll look into that.

Regards


Jon Peltier said:
Hi Marie -

Gotcha. You need to use a different technique to put the chart onto the
userform. Stephen Bullen shows how to do this by copying the chart as a
picture (not bitmap) and pasting the clipboard contents into the
userform's image control:

http://oaltd.co.uk/DLCount/DLCount.asp?file=PastePicture.zip

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______
 
T

Tushar Mehta

Have you tried adjusting the userform control's PictureSizeMode
property? There are three possibilities and the value
fmPictureSizeModeZoom (or maybe fmPictureSizeModeStretch) should do the
job.

--
Regards,

Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions
 
M

Marie J-son

Yes, but strech make an awful mess of the chart, even as narrow you try to
get ratio fixed.
Mode does the job, but I find the GIF become lousy quality as well. If you
save the chart in the same size as you later want in GIF, the quality will
be fine.

If I try to copy and paste a chart first and enlarger the new chart and then
delete it make good pictures, but I find Excel to slow to copy paste a
chartobject, even if you of course use screenupdating = false.

/Regards
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top