One of the things I noticed when reviewing Visio’s User Voice was the request for being able to have the shapes (they are actually masters) in the stencils be sorted. This is some code I have for keeping the masters in the document stencil sorted.
Here is the before and after.


Public Sub SortStencil()
Dim i As Integer
Dim j As Integer
Dim pntr As Integer
Dim lastmst As String
Dim mstrcnt As Integer
mastrcnt = ThisDocument.Masters.Count
For i = 1 To mastrcnt
lastmst = ""
pntr = 0
For j = i To mastrcnt
If ThisDocument.Masters(j).Type = 1 Then
If ThisDocument.Masters(j).Name > lastmst Then
lastmst = ThisDocument.Masters(j).Name
pntr = j
End If
End If
Next j
If pntr > 0 Then ThisDocument.Masters(pntr).IndexInStencil = 1
Next i
End Sub
I hope you find this useful.
John… Visio MVP in x-aisle
JohnVisioMVP.ca