I have been creating Microsoft Visio solutions for 30 years now … my first was in 1996! I have been an advocate for custom Masters from the very start, every since I learnt how editing the Master can automatically update all of its instance shapes can be automatically updated throughout the document. Whenever you drag and drop a Master from a Stencil into a document for the first time, it copies that Master to the Document Stencil, and from then on it will use the local Master in the Document Stencil to create new shape instances that reference the local Master. If you need to customise the local Master, then you should ensure that the Match master by name on drop is checked. All of the provided stencils contain Masters where this property is not checked. The main exception to this is the Dynamic connector Master. Not only is this Master provided with this property checked, it is also automatically created when you do certain actions. This article explains when this is done in the UI and in code.
[Read more…] about Creating a Dynamic connector master automaticallyConnectors
Counting glued and connected shapes in Visio
I got a surprise in one of my projects when I counted the shapes glued together using the Shape.GluedShapes(…) method … the sum of the filtered glued shapes just didn’t add up to the unfiltered count. So, I thought I should check the Shape.ConnectedShapes(…) method too … and there is a scenario where that has a similar result.
In the following diagram, I have different coloured squares with connection points of different types at the centre of each edge (as denoted by the connection type numbers), and one under a control point in the bottom left corner. I have glued the ends of coloured connector lines, statically (Red and Black) and dynamically (Green), and glued the Purple Square directly to the Orange Square. The Blue Square shape is glued to a connection point on the green dynamic connector.

I then ran some code to get the count of glued and connected shapes … and noticed some apparent discrepancies…
[Read more…] about Counting glued and connected shapes in VisioPushing Data Visualizer in Visio beyond its limits
My last post was about some of the lessons learnt when trying to push Data Visualizer to its limits, but this one has some ways of overcoming these limitations. The main lesson learnt is that DV binds the shapes within the DV container shape, CFF Data Visualizer, and controls some of the ShapeSheet cells that are normally available for customization. The label of the connector is bound to the respective column in the Excel table, and that, combined with the ability to modify the Dynamic connector master shape provides a way of overcoming some of the limitations discovered.
So, given that we want to use DV, and we need to have multiple flows between the same shapes, then they cannot be separate connectors. We need to combine multiple flows onto the same connector, and then find a way to selectively display different flows somehow by controlling the visibility of the connectors. However, we cannot make them invisible because they will be deleted by DV, so we need to control their transparency instead. We can do this by interpreting the label somehow, and we are going to modify the Dynamic connector to react to the text of the label, and we can also change the colour and line pattern too.
The following screenshots show the Excel table with the multiple flows between the same shapes concatenated with pipe characters, and the diagram created by Data Visualizer when this table is imported into a custom template using Data \ Create from Data \ Create:
[Read more…] about Pushing Data Visualizer in Visio beyond its limitsPushing Data Visualizer in Visio to the limits!
Regular readers of my blog will know that I like to use the Data Visualizer (DV) in Visio Plan 2, but I recently tried to help a user who really decided to push it to the limits. In this scenario, there were multiple connections, but with different labels, being created between the same flowchart shapes, and the plea was how to make it work! Well, I experimented with this, and found that DV does not really work well in this way, and then proposed an alternative approach, which I will explain in this article.
First, I will show how it fails by setting up an Excel table that does contains multiple connections, but fails to update the labels consistently.

What is the difference between a line and a [dynamic] connector in Visio?
When I have reviewed some of the criticisms of connecting shapes in Visio on the web, it has been clear that some users have a misunderstanding about lines and connectors. It is not surprising really because the Microsoft Visio help documentation does not currently make the distinction clear. A connector shape is used to connect two shapes together, whereas a line is normally just a straight line. As usual with Visio though, this is not the whole story because a line can be used to connect two shapes together, and it can be turned into a dynamic connector. I will try to explain myself in this article.
The normal way to connect two shapes together is to use the Connector tool (CTRL+3) on the Home / Tools ribbon, and a line is drawn with the Line (CTRL+6) drop-down menu in the same ribbon group.
Understanding Visio Connections
A reader recently asked if I could explain how to programmatically get the shapes connected to a shape in Visio. So, I thought I would have a go, because there are alternatives, depending upon which functions are used, and what parameters are passed to them. The following animated gif is rotating around the different types of selections that can be made from the lower Decision shape. Normally, two 2D shapes are connected together using a 1D shape. The 1D shape has a direction because it starts from “BeginX” and finishes at “EndX”. This is irrespective of an arrowheads that the user may have chosen to adorn the 1D connector with at either end.








