H
Heather Mills
Every time I need to print on a card of envelope, I end up screaming
at Word or the dog (poor thing), because Word makes it so difficult to
align text on custom size paper. I've tried several approaches, but
they all have serious drawbacks.
A few days ago, I asked over on microsoft.public.word.newusers if
anyone knew a way to do this. Suzanne said it had been a problem for
her as well.
While fiddling with it yet again (grrrr...), I realized that Word (and
my printers) are really only comfortable with letter paper. So, I
resurrected a method I've used before, which is to adjust the page
margins so that only the printable area of the card or envelope
remains. This actually words well and is reliable.
The only problem with it is that calculating (yuk) the margins is
tedious and error-prone. Then I remembered that that what's computers
are for, right?
So, with new energy, I created a little spreadsheet to debug the
calculations once and for all. I have them mostly working. Now I'd
like to put them in a macro (UDF?) so I can summon them when needed.
Sadly, I'm a klutz with macros. I've written a few, but it's painful.
So, I'll provide the formulas. If someone can take a first stab at a
macro, I'll then polish it up (no doubt with more help here) and then
make it available to everyone. There has to be at least one other
person who has wanted to print on odd forms, but have up. ;-)
These are the parameters (constants) I have defined so far with some
sample settings. I'll probably need a couple more.
Variable Sample Definition
PrtrMarg 0.30 Printer margin (non-printable area).
PageHgt 8.50 Height of the selected paper size.
PageWid 11.00 Width of the selected (logical) paper size.
PaperHgt 4.00 Height of the physical paper (<= PageHgt).
PaperWid 6.00 Width of the physical paper (<= PageWid).
PaperMargTop 0.50 Top margin of physical paper.
PaperMargBot 0.50 Bottom margin of physical paper.
PaperMargLft 0.75 Left margin of physical paper.
PaperMargRgt 0.75 Right margin of physical paper.
Here are the formulas with the values using the settings above. They
are not quite perfect, but they are pretty close. I'll keep fiddling.
Formula Value
MargTop = PageHgt - PaperHgt + PaperMargTop 5.00
MargBot = Max(PrtrMarg, PaperMargBot) 0.50
MargLft = Max(PrtrMarg, PaperMargLft) 0.75
MargRgt = PageWid - PaperWid + PaperMargRgt 5.75
The actual print area can be calculated using these formulas
Formula Value
PrintWid = PaperWid - PaperMargLft - PaperMargRgt 4.50
PrintHgt = PaperHgt - PaperMargTop - PaperMargBot 3.00
Is anyone willing to write the first draft of the macro?
For now, all of the parameters can be constants in the macro. Later,
we can get them from the user. The PageHgt & PageWid values can be
obtained from Word.
at Word or the dog (poor thing), because Word makes it so difficult to
align text on custom size paper. I've tried several approaches, but
they all have serious drawbacks.
A few days ago, I asked over on microsoft.public.word.newusers if
anyone knew a way to do this. Suzanne said it had been a problem for
her as well.
While fiddling with it yet again (grrrr...), I realized that Word (and
my printers) are really only comfortable with letter paper. So, I
resurrected a method I've used before, which is to adjust the page
margins so that only the printable area of the card or envelope
remains. This actually words well and is reliable.
The only problem with it is that calculating (yuk) the margins is
tedious and error-prone. Then I remembered that that what's computers
are for, right?
So, with new energy, I created a little spreadsheet to debug the
calculations once and for all. I have them mostly working. Now I'd
like to put them in a macro (UDF?) so I can summon them when needed.
Sadly, I'm a klutz with macros. I've written a few, but it's painful.
So, I'll provide the formulas. If someone can take a first stab at a
macro, I'll then polish it up (no doubt with more help here) and then
make it available to everyone. There has to be at least one other
person who has wanted to print on odd forms, but have up. ;-)
These are the parameters (constants) I have defined so far with some
sample settings. I'll probably need a couple more.
Variable Sample Definition
PrtrMarg 0.30 Printer margin (non-printable area).
PageHgt 8.50 Height of the selected paper size.
PageWid 11.00 Width of the selected (logical) paper size.
PaperHgt 4.00 Height of the physical paper (<= PageHgt).
PaperWid 6.00 Width of the physical paper (<= PageWid).
PaperMargTop 0.50 Top margin of physical paper.
PaperMargBot 0.50 Bottom margin of physical paper.
PaperMargLft 0.75 Left margin of physical paper.
PaperMargRgt 0.75 Right margin of physical paper.
Here are the formulas with the values using the settings above. They
are not quite perfect, but they are pretty close. I'll keep fiddling.
Formula Value
MargTop = PageHgt - PaperHgt + PaperMargTop 5.00
MargBot = Max(PrtrMarg, PaperMargBot) 0.50
MargLft = Max(PrtrMarg, PaperMargLft) 0.75
MargRgt = PageWid - PaperWid + PaperMargRgt 5.75
The actual print area can be calculated using these formulas
Formula Value
PrintWid = PaperWid - PaperMargLft - PaperMargRgt 4.50
PrintHgt = PaperHgt - PaperMargTop - PaperMargBot 3.00
Is anyone willing to write the first draft of the macro?
For now, all of the parameters can be constants in the macro. Later,
we can get them from the user. The PageHgt & PageWid values can be
obtained from Word.