I have previously written about using off-page references and labelled page grids in Visio, see A Page Grid with Labels and Page Grids and Off Page References, however a reader pointed out that the label on the Off-Page Reference shape is duplicated on both ends. This is not always ideal, however it is all I could do using just ShapeSheet formulas alone. So, in this article, I show how a VBA macro can enhance the reciprocal labels on the twin Off-Page Reference shapes, and they automatically update if either end is moved between grids. This is especially useful in electrical wiring diagrams, but the principal can be adapted for other purposes.
[Read more…] about Bi-directional Labels on Off-Page Grid ReferencesShapeSheet Functions
Using some Visio Shape Data in Visio for the Web
Like a lot of UK TV viewers last week, I watched Quiz, a drama about Major Charles Ingram who apparently cheated his way to the jackpot in Who Wants to be a Millionaire. Some of the questions that he was asked were quoted in that show, and I was surprised how easy the last two questions were for me, but that was probably because of my own education as a building architect. However, I decided to lookup the rest of the questions, and I would have fallen before getting to those questions unless my Phone-A-Friend could have helped me on one in particular. At the same time, I was thinking about the differences between Visio desktop and web editions (yeah, really!), so I have created a Visio document that contains all of the questions that the Major answered correctly. This document can be viewed by everyone and downloaded. If it is saved into OneDrive or SharePoint Online and then viewed online.

Using CODE() and UNICODE() functions in Visio
Microsoft Visio does have CHAR() and UNICHAR() ShapeSheet functions, just like Excel, but it does not have the inverse CODE() and UNICODE() functions, unlike Excel. However, there is a way to create a formula in the Visio ShapeSheet to provide these functions.
The following worksheet demonstrates how the CHAR(), CODE(), UNICHAR(), and UNICODE() functions work in Excel.
| Column | Formula |
| Index | n |
| Char | =IFERROR( CHAR(INT([@Index])),””) |
| Code | =IFERROR( CODE([@Char]),””) |
| Unichar | =UNICHAR(INT([@Index])) |
| Unicode | =UNICODE([@Unichar]) |
Preventing Deletion of Container Members in Visio
The concept of Structured Diagrams was introduced in Visio 2010 and is featured in many of the templates supplied with Microsoft Visio, and in some third-party solutions, like mine. Connectors, callouts, containers and lists are the key parts of a structured diagrams, and there are times when preventing the deletion of members of a container or list is desirable.
[Read more…] about Preventing Deletion of Container Members in VisioMulti-line text in Visio Shape Data
The Shape Data (nee Custom Properties) dialog and window only provides a single line to view or edit text values. It is a great shame because the value can be up to 64k characters, and long text can be pasted into it. I, and many others, have complained about this for many years to Microsoft, but nothing has been done to rectify this. Of course, I do develop custom user interface components for many customers, but that is not always desirable. Therefore I sometimes re-purpose standard Visio elements to provide the ability to view or edit multi-line text in Shape Data rows.
[Read more…] about Multi-line text in Visio Shape DataWriting a WeekNum(…) function for Visio
I needed to display the week number of dates in a Visio project of mine, but there is no WeekNum(…) function built-in, so I had to write one, and allow for the date that the week numbers begin in to be varied from 1st January. I also needed to allow for the week numbers to go backwards from the specified week number begin date.
Excel has a WeekNum(..) function, which can take an optional parameter for the day of the week to begin on, and an IsoWeekNum(..) function, and the following table shows the values change for the first 35 days of the year:

[Read more…] about Writing a WeekNum(…) function for Visio










