Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Marie J-son
 
Posts: n/a
Default How can I change size of the picture without changing chartobject?

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


  #2   Report Post  
Jon Peltier
 
Posts: n/a
Default

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/
_______

Marie J-son wrote:

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



  #3   Report Post  
Marie J-son
 
Posts: n/a
Default

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

"Jon Peltier" skrev i meddelandet
...
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/
_______

Marie J-son wrote:

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




  #4   Report Post  
Jon Peltier
 
Posts: n/a
Default

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.a...stePicture.zip

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

Marie J-son wrote:

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

"Jon Peltier" skrev i meddelandet
...

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/
_______

Marie J-son wrote:


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





  #5   Report Post  
Marie J-son
 
Posts: n/a
Default

Thanks, i'll look into that.

Regards


"Jon Peltier" skrev i meddelandet
...
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.a...stePicture.zip

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

Marie J-son wrote:

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

"Jon Peltier" skrev i meddelandet
...

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/
_______

Marie J-son wrote:


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








  #6   Report Post  
Tushar Mehta
 
Posts: n/a
Default

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

In article ,
says...
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

"Jon Peltier" skrev i meddelandet
...
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/
_______

Marie J-son wrote:

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





  #7   Report Post  
Marie J-son
 
Posts: n/a
Default

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


"Tushar Mehta" skrev i meddelandet
...
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

In article ,
says...
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

"Jon Peltier" skrev i meddelandet
...
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/
_______

Marie J-son wrote:

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






Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Change datalabel font size for all chartobjects in a row Marie J-son Charts and Charting in Excel 2 December 5th 04 07:02 PM


All times are GMT +1. The time now is 08:34 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"