A recent newsgroup post asked about the ShapeSheet programming of lines in Visio to represent the hands of a clock. Well, it made me think, so here is my solution of a clock in Visio with just the ShapeSheet, and, for good measure, you can set it to refresh every minute!
bVisual Blog by David Parker
Displaying Document Fonts
There have been some posts recently about fonts may not displaying correctly in Visio, the Viewer, or in exports to PDF or XPS. So, I thought it would be good to be have a bit of code that enables you to see all of the different fonts on a Visio page. You can then use it to select a font, or to check how they are seen in different formats.
Toggling Layers On and Off
UPDATE March 2017 : I have now expanded this functionality into an add-in for Visio (see Layer Manager add-in for Visio released ).
Visio layering system is more complex than any CAD system I’ve worked with, and often catches users out. A Visio shape can belong to no layer, one layer or multiple layers simultaneously, and a layer can be visible or invisible; printable or non-printable. In fact, you can have a shape on a layer that is invisible but printable – a good way to put a watermark across a document.
Firstly, Visio layers are per page in a document, and secondly, Visio layers are stored as an index number with an associated name. Therefore, layer 1 on page 1 could be named Outline, but layer 1 on page 2 could be called something completely different!
View > Layer Properties will show you the layer settings on the active Visio page, but the # column, which gives you a count of shapes on each layer, can be misleading because the same shape can be on multiple layers, and even sub-shapes (those inside a grouped shape) are counted.
EventXFMod can cause Visio to stop working
Public Sub StartMonitorShapes()
If ThisDocument.DocumentSheet.CellExists("User.MonitorShapes", Visio.visExistsAnywhere) Then
ThisDocument.DocumentSheet.Cells("User.MonitorShapes").Formula = "1"
End If
End Sub
Public Sub StopMonitorShapes()
If ThisDocument.DocumentSheet.CellExists("User.MonitorShapes", Visio.visExistsAnywhere) Then
ThisDocument.DocumentSheet.Cells("User.MonitorShapes").Formula = "0"
End If
End Sub