Printing Greater than 22 Inches Height/Width
|
|
Thread rating:  |
Derek F. Hatfield - 29 Feb 2004 16:20 GMT Hi All,
I'm hoping there is an easy way to get around this, rather than using API calls, if someone has a simple solution or point in the right direction, it would be much appreciated.
I have some large forms which need to be printed to a plotter 45 inches by 22 inches. I have this code which does 22X22 really quickly, but I found that height and width are integers and when multiplied by twips per inch (1440) 22 inches is as high as I can go before I hit the 32767 max, any ideas?
Printer.Height = 1440 * 22 Printer.Width = 1440 * 22
Is there some way to change the printer from Twips, or will I have to switch to API?
Derek
Rick Rothstein - 29 Feb 2004 16:27 GMT > I'm hoping there is an easy way to get around this, rather than using > API calls, if someone has a simple solution or point in the right direction, [quoted text clipped - 11 lines] > Is there some way to change the printer from Twips, or will I have to switch > to API? I've not had to play with paper **that** large myself, but what happens if you change the Printer's ScaleMode property to inches before you set anything and then use the inch measurements directly?
Printer.ScaleMode = vbInches Printer.Height = 45 Printer.Width = 22
Rick - MVP
Derek F. Hatfield - 29 Feb 2004 16:43 GMT Rick/All,
Yes, I thought that might work too, but no matter what I changed the Scalemode to, it seems to stick with twips. Actually I can't say for certain, because as soon as I go beyond anything it would normally be able to handle, it defaults to the default page size. So it I just put 22 in like this:
Printer.ScaleMode = vbInches Printer.Height = 22 Printer.Width = 22
it falls back to 8.5X11, because it is taking the 22 as twips, if I put this in:
Printer.ScaleMode = vbInches Printer.Height = 1440 * 22 Printer.Width = 1440 * 22
it still comes out 22 inches, like the scalemode doesn't exist, or maybe I am not using it properly?
Derek
> > I'm hoping there is an easy way to get around this, rather than using > > API calls, if someone has a simple solution or point in the right [quoted text clipped - 25 lines] > > Rick - MVP Rick Rothstein - 29 Feb 2004 17:10 GMT Okay, I just checked the documentation and it says, for the Height and Width properties,...
"For Form, Printer, and Screen objects, these properties are always measured in twips."
so no, you must use twips. You didn't say... are you getting an overflow error when you try and set the height or is the calculation performing OK, but simply not being used in the setting?
Rick - MVP
> Rick/All, > [quoted text clipped - 50 lines] > > > > Rick - MVP Derek F. Hatfield - 29 Feb 2004 17:22 GMT Hi Rick,
Yes, it was an overflow, just too much for it to handle, but Joe below pointed out a simple solution, now my next step is to make ESRI arc pay attention to it, thanks for your help, hope I can return the favour.
Derek
> Okay, I just checked the documentation and it says, for the Height and Width > properties,... [quoted text clipped - 67 lines] > > > > > > Rick - MVP Joe - 29 Feb 2004 16:59 GMT > I'm hoping there is an easy way to get around this, rather than using > API calls, if someone has a simple solution or point in the right direction, [quoted text clipped - 8 lines] > Printer.Height = 1440 * 22 > Printer.Width = 1440 * 22 ScaleMode only affects ScaleLeft, ScaleTop, ScaleWidth, and ScaleHeight. Instead, try forcing a conversion to Long:
Printer.Height = 1440& * 45 Printer.Width = 1440& * 22
-- Joe Foster <mailto:jlfoster%40znet.com> Sign the Check! <http://www.xenu.net/> WARNING: I cannot be held responsible for the above They're coming to because my cats have apparently learned to type. take me away, ha ha!
Derek F. Hatfield - 29 Feb 2004 17:10 GMT egad, I never even thought of that, so simple, it works, thanks!
> > Printer.Height = 1440 * 22 > > Printer.Width = 1440 * 22 [quoted text clipped - 4 lines] > Printer.Height = 1440& * 45 > Printer.Width = 1440& * 22
|
|
|