How to determine minimum width of textbox for some text

  • Thread starter Thread starter Lloyd Catlett
  • Start date Start date
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
 
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.
 
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

<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
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.
 
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!
 
Back
Top