Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsVB SyntaxEnterprise DevelopmentDatabase AccessControlsCOMWin APICrystal ReportDeploymentGeneralGeneral 2
Related Topics
VB.NET / ASP.NETMS SQL ServerMS AccessOther Database ProductsMore Topics ...

VB Forum / General 2 / February 2004



Tip: Looking for answers? Try searching our database.

Printing Greater than 22 Inches Height/Width

Thread view: 
Enable EMail Alerts  Start New Thread
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
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.