How to determine minimum width of textbox for some text

L

Lloyd Catlett

With given text I want to calculate the minimum width (and height) needed in
a textbox to contain the text. I suppose it depends on the font (duh!), but
how would I do the calculation?

Word 2000, XP
 
J

Jerry

Why do you want to "calculate" the size of the box? Just grab a corner of the
box and stretch it until the text fits. Then go to Format - Text Box and
check to see what size it is.
 
G

Graham Mayor

Use a frame or a table cell and the height of the 'box' can be configured to
adapt to the amount of text.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP

My web site www.gmayor.com

<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
L

Lloyd Catlett

Thanks for asking, Jerry. I've some code in VBA Word that creates a
cartesian coordinate grid (graph grid) of user-defined size on which I plot a
function. One of the things I do is give the user the option to number the
x-axis and y-axis. To number the axis I create a textbox and set the text to
whatever number is needed (such as "-5"). Since the text can be of different
lengths I have to set the textbox width and height in the code. If I set the
width too wide the scale numbers will overlap; too small and the text won't
fit. If I can find a way to calculate the minimum width (and height) of the
text I have more options available about how to size the textbox. I set the
textbox width with the line of code
"Selection.ShapeRange.Width = WidthNeeded"; I need a way to calculate
WidthNeeded.
 
L

Lloyd Catlett

Found an way!

Perhaps this is what Graham mayor meant with his suggestion.

Here's how I determine the (minimum) width and height required for specific
text:
a. create the textbox with .Shapes.AddTextbox
b. set font name, font size and the specific text I am working with with
Selection.Font.Name, .Font.Size, and .Text =
c. set margins to zero with ShapeRange.TextFrame.MarginLeft=, etc.
d. Turn AutoSize on by Selection.ShapeRange.TextFrame.Autosize=True
e. Get the minimum width and height with ShapeRange.Width, .Height


Maybe this will help anyone else looking for this capability. Thanks to
those who responded to my question!
 

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