Can I AutoSize (or Fit) merged, variable data within a text box? H

E

Eric Torres

Products: Word & Access 2003 Professional

Hello MVP's,

Although I have been working with Word and mail merges for many years I have
never had the need to resize variable text "on-the-fly" until now. Normally,
I set up documents this complex through a piece of software called PrintShop
Mail, which is as sweet for this type of funtion as it is expensive.
However, I am faced with a problem that I must somehow resolve through Word
(so long as it is capable) because the documents I am using for this
particular job were already laid out in Word and I do not have the time
needed to change these to my PrintShop Mail software.

In short, I have eight individual documents that run a mailmerge from
multiple Access queries. Since this is a custom billing program for members
of an organization, most of the information throughout each of the docs is
custom to the individual member, thus, these docs are filled with text boxes
throughout. The merged results are then printed on a billing form that is
pre-printed with multiple boxes, many of which are filled with the variable
data from the merge. One specific text box (the "Message" box) could contain
any of 28 different messages depending on the field value from the
corresponding query. The whole program is difficult enough as it is but I've
managed to get through it somehow from month to month.

The problem became a problem when my client decided that they no longer like
the the way the "Message" looks within the assigned box on the form. Since
the message box on the form is pre-printed with a border, every message must
fit within the boundaries of the box. These 28 messages could vary from a
single sentence to a whole paragraph of five sentences. In the past, I was
able to assign the largest font that would accomodate for the longest
message. The text was then centered inside the text box, both horizontally
and vertically. Of course, whenever a short message appears, the text looks
too small inside the box and the client no longer wants to do it this way.
They want me to shrink and expand the font size based on message size to fill
the box as much as possible.

As I mentioned above, PrintShop Mail is made for this kind of gig but it's
not something I know how to do in Word, it it's even possible? I found every
option to resize the text box to the text but not the other way around. I
have read every knowledge base article that talks about merges and text
formatting but can't find anything in regards to conditional sizing of text.
You guys are my last resource as I will not be able to keep the client around
if I can't get this to work on my next mailing, which happens to be this
week! It is too late to begin the layouts in PrintShop Mail since the front
end of the program takes me forever to get done leaving no extra time to work
on the docs except for the merges.

What really bothers me is that I have seen this before on some document I
received at one time from another client but I can't find it to save my @r$e!
The text, not the box, would resize based on length with each record but I
didn't have time to see how it was done.

I am in need of serious help and running out of time. Any suggestion or
known solution to this problem would be heavenly.

Thanks in advance for any words of wisdom (and for reading my novel?)
 
P

Peter Jamieson

As far as I know, the only ways to get ordinary text to resize without using
VBA are
a. put the text in a table cell and check the Cell Properties|Options|Fit
text option
b. enable an East Asian Language in the Office Language Settings, select
some text, and fit it into a particular width.

However, neither of these methods is likely to do what you want, because
c. they only reformat a single line of text
d. they "fit" the text by squeezing it sideways, i.e. the font height does
not change at all, which results in text which is at best really ugly and is
generally pretty unreadable.

If you don't like what happens to text using method (a) I wouldn't bother
trying to experiment with (b) - it's pretty much the same.
What really bothers me is that I have seen this before on some document I
received at one time from another client but I can't find it to save my
@r$e!

So unfortunately, I don't know how that was done.

I would suggest that the only way you are likely to be able to do this
reasonably quickly in Word is to output the merge to a new document and use
VBA to postprocess the document. I have never done it, but I suppose I would
probably do something like the following rather obvious algorithm:
a. set the text box to fit the text
b. if the box is bigger than the space available, reduce the text size
until the box size is equal or smaller, else if the box is smaller, increase
the text size until the box size is equal or larger

Peter Jamieson
 
P

Peter Jamieson

Also, I think one of the versions of WordArt will fit text to the box but
again you get nasty-looking text.

Peter Jamieson
 
P

Peter Jamieson

Reading through your message again, as long as the possible texts are all
predefined, I wonder if you have tried simply formatting the text results in
whatever IF fields you are using?

e.g. in the simple case where you decide which text to insert based on a
MERGEFIELD called "messagenumber", you might have

{ IF { MERGEFIELD messagenumber } = 1 "a short message" ""
}{ IF { MERGEFIELD messagenumber } = 2 "a much longer message" ""
}

format "a short message" directly in a large font, and "a much longer
message" directly in a small font, each designed to fit the text.

Peter Jamieson
 
E

Eric Torres

Hello Peter,

Thank you for your suggestions. Unfortunately, I am not using IF statements
for the messages as these are created through the queries in the background.
I'm actually inserting the message field which already has the message
spelled out. The program is quite complicated for me as it is. There are
two queries working in sync for each doc. The first one does a lot of the
mathematical calculations for the invoice along with a few custom messages
and footnotes. The second one (which is the one difectly linked to the doc)
is the one that appends the messages into the message field along with some
other calculations. I tried converting the box to a table cell but the Fit
Text option only creates a single line of text inside the cell and anything
else past the cell boundary just disappears, as you mentioned on your first
response.

Obviously, this is something more geared up for someone with VBA experience
opposed to a self-taught individual like myself. Looks like I'll have to
blast the news to my client today and hope for the best.

Thank you for your time and input.

Eric
 
P

Peter Jamieson

Well, one last shot...

If you are getting the texts through queries, you may be able to get the
text length using the same query, then use that to name a file or bookmark
in a file that you can include via INCLUDETEXT. Each file would have the
formatting you need for a particular text length (there would obviously have
to be some approximations as you'd be going on character count, not actual
text width).

Might also be difficult because of difficulties working with text boxes and
fields, but thought I'd just mention it anyway.

Peter Jamieson
 
E

Eric Torres

Thanks Peter. Looks like I'll have to wing it this time as the client is
already calling looking for proofs this morning. This is my las tweek at
work and I was trying to get this to work for my firend who is taking over
the account when I leave. She knows a lot less about merges than I do and I
was hoping to at least get this part resolved for her before leaving but I
guess that how it'll have to be. I just heard that the company I'm leaving
from hired an outside data service to help run this job every month from now
on. Of course, this couldn't happen when I asked for it 8 months ago. Go
figure...

Thanks again for all your input on this. I'll make sure to pass along all
the information you gave me just in case she needs it. You never know.

See you around!
 
C

CMO

I hope someone is still checking this thread, PLEASE i have a similar but
less complicated problem. i have had to manually format my pages as they
keep dropping out the last 2 lines, leaving the page not fully covered. The
lines i then copy and paste end up not filling to the end of the line and
when i attempt to type the rest of the sentence so it 'naturally' cascades to
the next line, it shifts the whole paragraph to the next page. Thus, i end up
with 1 or 2 lines on the page where the sentences dont get to the end of the
line to justify properly.
I know there is a command that says 'fill up/out' but i dont know where to
find it or how to make the words spread out and fill the lines fully.
I hope this is not too muddled.
Thank you everyone for your help and suggestions.
 
P

Peter Jamieson

I'm not sure changing the text size or (e.g.) vertical spacing is going to
help here. I would have a look at Format|Paragraph|"Line and Page Breaks"
for the relevant paragraphs, or at the equivalent format dialog in
Format|Style if you are using Paragraph Styles. For example, it may be enogh
to uncheck "Widow/Orphan control"

Peter Jamieson
 

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