Visio 2010 Flowchart Shapes Get Smarter
Visio 2010’s flowchart shapes have gotten smarter.
See how they save you work when you add lots of text to them!
Flowcharts are supposed to be concise explanations of complicated processes. Each step should contain a very brief message that explains what the process step is about.
But some folks are verbose. Companies have their own jargon. And technical words can be long. Sometimes being precise requires that you use a few extra words.
Well Visio 2010 flowchart shapes accommodate wordiness by automatically expanding to fit the text!
If I create a simple, text-free flowchart, it might look like this:
If I add text to the shapes, Visio 2010 automatically expands the shapes for me. Below I’ve only added text. I didn’t resize the shapes at all!
This is really cool! It will save you the extra step of having to tweak your shapes so that they are big enough to hold all of the text.
Now some Visio shapes have had similar features for years, but the technology was never applied whole-sale across a family of shapes that could really use it!
Technology Behind the Feature
ShapeSheet junkies and Power Users might be interested in the intricacies of how this has been implemented.
First off, the shapes are not protected in any way. You can freely resize them yourselves by pulling on the resize handles. Be advised that as soon as you manually resize a flowchart shape, though, you kill the auto-resizing smarts.
Copying the shapes also seems to have the effect of wiping out the resize-with-text behavior too.
Never fear, there’s a back door to restore brains to your flowchart shapes. Just right-click one and you might see two custom actions: Set to Default Size and Resize with Text:
I say might, because the options aren’t always available, depending on the state of the shape.
When you drop a shape from the flowchart stencil, you’ll see none of these actions because the shape is at it’s default size, and it resizes with text, so you don’t need to “reset” anything.
Set to Default Size just blasts numbers into the Width and Height cells of the shape. This is great if you’ve messed with the shape, but have now reduced the text and would like to restore a consistent look to your diagram.
Resize with Text simply reinstates the auto-grow feature so that your shape will accommodate the text effortlessly.
Inside the ShapeSheet, you’ll see a number of interesting formulas. The size of the shape is controlled by the Width and Height cells:
Width = User.DefaultWidth
Height = User.ResizeTxtHeight
Notice that they are not GUARDED. So resizing the shape manually will blast these formulas and replace them with numbers.
The User cells to which Width and Height refer look like this:
User.DefaultWidth = 1 in*DropOnPageScale
User.DefaultHeight = 0.75 in*DropOnPageScale
The TEXTHEIGHT function helps to figure out if the text is in fact taller than the shape, and the CEILING function causes the shape to grow in increments of 0.25 inch.
The DropOnPageScale cell-reference is used in case flowchart shapes are dropped into scaled drawings. Since flowchart boxes aren’t physical objects, there’s no sense in them maintaining a scaled value, so Visio will scale them up so that they are still visible and readable. (Imagine a 1-inch flowchart shape on a floorplan that is 50 feet wide!)
Right-clicking the custom actions simply stuffs Width and Height with references to these user-cells, or with values from these user-cells.
Actions.SetDefaultSize = SETF(GetRef(Width),User.DefaultWidth)+SETF(GetRef(Height),User.DefaultHeight)
Actions.ResizeWithText = SETF(GetRef(Height),”User.ResizeTxtHeight”)
On quick inspection, it looks like all the shapes on Visio 2010’s Basic Flowchart Shapes stencil have this behavior. But I don’t have an exhaustive list of all shapes and stencils that incorporate this behavior. If you find more auto-grow-with-text shapes, let us know where in the comments below!