A couple of points of clarification:
I'm sure VisioGuy will correct me if I'm wrong, but, I believe what he's saying is that you can't literally put the user.cell reference directly in the TextWidth formula.
In my example, the point of the "len" approach is that the function returns the number of characters in the string, hence, the reference link I provided. Because it is a character based result, to get the actual length, it is necessary to multiply by the character size...and the unfortunate scale factor. The Visio example, just scaled the font size because that was easier than entering more, or less, text. The effect was (is) the same, the shape resizes based upon the actual length of the string. However, I don't think using the "len" approach is a necessary route to take. The "TextWidth(TheText)" ought to work just fine.
Using the Insert > Field that Vojo suggests, and, is how I inserted the user.cell text into the shape textbox, seems to put it in as a string. At least, that's how "TheText" interprets it.
I hope that helps clarify things.
Wapperdude