What section was that in?

You can become a Visio master without turning on the developer tab, but if you do, then the real magic happens. It opens the world of the shapesheet and access to the internal structure of Visio.

Visio has two types of sections, the visual sections you find when you “Open Shapesheet” and the real data one when you start programming with CellsSrc(SectionId, RowId, CellId).

Visual Section

To show the document shapesheet, right click the first entry in the Drawing Explorer.
To show the page shapesheet, with nothing selected, right click the page.
To show the shape shapesheet, select a shape and right click the shape.

Document shapesheet
Page Shapesheet
Shape Shapesheet

The term section is taken loosely, with CellsSRC(), section 1 is actually a collection of sections. It is better to consider a section as a combination of section and rows. Both the real data sections and visual sections have a Miscellaneous section, but the real data Miscellaneous section has more cells than the visual one. In fact, not all cells in the real data sections are exposed in a visual section. In fact, some real data Miscellaneous cells are actually exposed in other visual sections like Glue.

So, what is in section 2? Will Visio publish a more complete list of RowTypes()?

The Geometry section (or sections) is a special case. If you come at it from the data side, Geometry sections can have section Ids from 10 to 29. If you come at it from the visual side, it is one section with header information and a collection of subsections, MoveTo, LineTo. Also, unlike other sections, the Geometry sections have different number of columns.

RowDescriptioncolsXYABCDE
MoveToMove to a coordinate.2**
LineToDraw a line to a coordinate.2**
ArcToDraw a circular arc to a coordinate.3***
EllipticalArcToDraw an elliptical arc to a coordinate.6******
PolylineToDraw a polyline, or consecutive lines, to a coordinate.3***
NURBSToDraw a non-uniform rational B-spline (NURBS) to a coordinate.7*******
SplineStartStart a spline.6******
SplineKnotDraw a spline segment to a knot coordinate3***
InfiniteLineDraw an infinite line from one coordinate to another.4****
EllipseDraw an ellipse from a center coordinate and a major/minor axis.6******
RelCubBezToDraw a cubic Bezier curve relative to the width and height of the shape.6******
RelEllipticalArcToDraw an elliptical arc to a coordinate relative to the height and width of the shape.6******
RelLineToDraw a line to a coordinate relative the height and width of a shape.2**
RelMoveToMove to a coordinate relative to the width and height of the shape.2**
RelQuadBezToDraws a quadratic Bezier curve relative to the width and height of the shape.4****

From the programming side, there is a function called RowType(SectionId,RowId). Though the geometry sections are enumerated, there are a number that are not. So, I updated the list from Graham Wideman’s book to include RowType.

Graham Wideman’s books are a great source of information for those who want to master the magic of Visio. I have created an Excel spreadsheet based on Graham’s book that correlates section id, row id and the cells content. Since Graham’s book has been around for a while additions to Graham’s work are in blue.

Of course, the Visio shapemiesters have to have their fun. Section 248, LineGradientStops is RowType 247, while Section 249 FillGradientStops is RowType 248 and Section 247 is RowType 199. Was that a mistake or are the shapemiesters just messing with us?

The list is in the Download section.

This is a work in progress, I have not explored all the visual sections to see what RowTypes I have yet to discover or determined what other mysteries there are. I will update the download when I find something new.

John… Visio MVP in x-aisle
JohnVisioMVP.ca

Published by johnvisiomvp

The original Visio MVP. I have worked with the Visio team since 1993