Problem increasing .PlotArea.Height value

X

Xavier

Hello,

I do have some vba code that draws a chart and that resizes the chart so
that it fits exactly to predefined (width and length) values. I do have an
issue with the following code:

Do While .PlotArea.InsideHeight < 496
.PlotArea.Height = .PlotArea.Height + 1
Loop

Since I can't set .PlotArea.InsideHeight directly, I increase
..PlotArea.height until .PlotArea.InsideHeight reaches the predefined value.
The issue that I am having is the following:

on my developement PC, the code works fine with my default printer (HP
LaserJet 1010). When I run the code on a different PC (using a Xerox
printer) the loop, keeps looping, and .PlotArea.Height remains at some value
and does not increase even if it keeps executing the increment line. On this
same PC, if I change the default printer to a HP LaserJet 4L, the code works
fine. The default page for both printers is set to A4.

I tried to run the code on yet a different PC, using the same printers, and
there it loops indefinitely regardless of the default printer.

I wonder if someone could tell me which parameter (printers, regional
settings,...) might influence the behavior of this code ?

Any help would be appreciated.

Thanks,

Xavier
 
A

Andy Pope

Hi,

Your code will loop if the plotarea.height can not be increased any
futher than 496. This maybe because the chartarea is not large enough to
accommodate it. Add a variable to the loop that checks whether the
plotarea height changes between loops.

Cheers
Andy
 
X

Xavier

Hi Andy,

the code you suggest is what allowed me to pinpoint the erratic behavior
(didn't want to copy too much code in order to remain as clear as possible).
I'll follow your suggestion and have a look at the chartarea. Do you know
how does the chartarea relates to the default printer (or regional settings,
or ???) ?

Thanks for your help,

Xavier
 
X

Xavier

Hello Andy,

following your advise, I checked my code for whatever might influence the
behavior of the chartarea. I found out that I was incorrectly setting
margins in my code. The effect of this was not noticeable on my default
printer, but well on some other brands/models.

I rewrote my code using things like ".BottomMargin =
Application.CentimetersToPoints(0.5)" and everything works as expected now.

Thanks again for the hint !

Xavier


Xavier said:
Hi Andy,

the code you suggest is what allowed me to pinpoint the erratic behavior
(didn't want to copy too much code in order to remain as clear as
possible). I'll follow your suggestion and have a look at the chartarea.
Do you know how does the chartarea relates to the default printer (or
regional settings, or ???) ?

Thanks for your help,

Xavier
 
A

Andy Pope

Hi,

Glad you got it sorted.
And thanks for taking the time to post back with your update.

Cheers
Andy
Hello Andy,

following your advise, I checked my code for whatever might influence the
behavior of the chartarea. I found out that I was incorrectly setting
margins in my code. The effect of this was not noticeable on my default
printer, but well on some other brands/models.

I rewrote my code using things like ".BottomMargin =
Application.CentimetersToPoints(0.5)" and everything works as expected now.

Thanks again for the hint !

Xavier
 

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