I was recently asked how to change the default font size and line weight in Visio, and then saw then many others are asking the same sort of question. I found one reasonable answer suggesting that you should create a new document from your required template, then edit the Styles to suit, and then save as a new personal template. Well, I am not sure I like that answer because it means you must create a duplicate template for each one you use. So, I decided to see if I could find a better way…
Firstly, it is important to know that these default settings are not editable for the whole Visio application, because they are stored in each document, under the Styles collection. You can view the Styles in a document using the Drawing Explorer window that can be opened from the Developer tab.

Notice that they all inherit from the Theme style. So, editing settings in the Theme ShapeSheet will mean that all the others will inherit the value, unless it has a different one set to override it.
For example, I edited the Theme style in the following example, and changed the Line Width (Weight) of the Shape to 1.25 pt, and the Text / Font / Size to 10 pt.
So, all of the lines that had not been formatted in the diagram immediately changed to 1.25 pt, and the font size of the unformatted text changed to 10 pt… except for the connectors that I added … because they are based on the Connectors style, which had a font size of 8 pt overriding the Style that it is based on.

So, I edited that style too, and changed the font size to 10 pt, and then everything was as desired.
That is quite a lot of changes to do each time a document is started, and that is why the original answer was to save the document as a new template.
So, if you want to automatically update the Line Weight (LineWeight) and Font Size (Char.Size) of the Connector style, you could put the following formula in a suitable cell of a ShapeSheet. This could be an Action row, for example:
=SETF(GetRef(Styles!Connector!LineWeight),"10 pt")+SETF(GetRef(Styles!Connector!Char.Size),"1.25 pt")
But wait, this is Visio, so why not reference the LineWeight cell and Char.Size cell of the shape itself?
=SETF(GetRef(Styles!Connector!LineWeight),LineWeight)+SETF(GetRef(Styles!Connector!Char.Size),Char.Size)
Then add the same formula to the EventDblClick and EventDrop cells…
Finally, put this shape, called say Set Connector Defaults, into your Favourites, and simply drag and drop it onto a document that you want to update the Connector style of.
All of the connector shapes, which have not been re-formatted, automatically inherit the new settings.
Just a quick reminder that you may have already been using a template that has a formatted master in the document. This is certainly true for most flowchart diagrams, so simply edit the Dynamic Connector master in the Document Stencil, because all its instances will be automatically updated throughout the document … if they have not been locally formatted.
Of course, you should always ensure that the Match master by name on drop setting is ticked in the Master Properties...
Credit to my friend John Goldsmith for pointing out that the styles can be updated from the ShapeSheet.
Using Notepad++ to Edit Visio ShapeSheet formulas
Visio shapes get their smartness from the formulas that are entered into the ShapeSheet, but editing these formulas can be extremely tricky and prone to error because of the lack of a modern programmer’s interface. Formulas can be quite long (up to 64k characters) but even medium size ones like the one in User.GetWorkdays cell…
Adding a second Function header bar to Visio swimlanes
I was recently asked if a second function header bar can be added to the swimlanes in the cross-functional flowchart templates in Visio. Some swimlanes can get quite wide, so it can be useful to have a duplicate function header shape on the far-side too. It is quite simple to duplicate the existing function header…
More Parsing XML Data in Visio Shapes
My last article looked at parsing an XML string with a known structure and order of elements and attributes. This can be acceptable in some scenarios, but what if the elements or attributes are in a different order? Then it is necessary to use the element and attribute names rather than their index position. This…
Parsing XML data in Visio Shapes
One of my current projects uses XML data, and some of the values in the XML data control the display and content of Visio shapes. Therefore, I looked deeper into how the XML data can be used directly to control parts of the graphics. Although the external data linking feature in Visio Professional and Visio…
Highlighting dirty text in Visio shapes
I suppose I should explain what I mean by dirty text first 🙂 I often display the value of a Shape Data row in Visio text, but sometimes the solution requires that the value is also editable. This is ok if the client accepts that all editing is done with the Shape Data window or…
My new book on Visualizing Processes with Microsoft Visio has launched
Back in the early 1990s, there was an application called ABC Flowcharter that was the market leader for diagramming business flowcharts, but some of the brains behind Aldus PageMaker saw an opportunity to create something smarter, and left to write the Visio product, with the stated aim to overtake ABC Flowcharter within 2 years. They…
Leave a Reply