3 4
This appendix lists sections, rows, and cells that appear in the ShapeSheet window for shapes, styles, pages, and documents. It also lists the corresponding index constants that you can use in a program to access sections, rows, and cells with Automation, plus index constants you can use to access tab settings.
To find the value of a constant, use the Object Browser in the Visual Basic Editor. When a constant is selected in the Members Of list, the Details pane displays the value of the constant. To show the ShapeSheet window for an object, click the object, and then click Show ShapeSheet on the Window menu.
Tip
Sections are listed alphabetically, and cells are grouped by section. In sections that have a variable number of rows, such as the Actions section, rows are indexed using the row constant as a base. To refer to a particular row, add an integer offset to the row index constant, starting with zero (0) for the first row. To reference a cell in a particular row, use the same integer in the cell name. For example, use Actions.Action[ i ].
For details about using cell references in formulas, see the Microsoft Developer Reference (on the Help menu, click Developer Reference). For details about accessing cells from a program, see Chapter 17, Automating Formulas.
Section, Row, and Cell Indices for Shapes
Section or row | Cell | Section index | Row index | Cell index |
<no name> 1 | HelpTopic Copyright 2 | visSectionObject | visRowHelpCopyright | visObjHelp visCopyright |
1-D Endpoints section 3 | BeginX BeginY EndX EndY | visSectionObject | visRowXForm1D | vis1DBeginX vis1DBeginY vis1DEndX vis1DEndY |
Actions section | Actions.Action[ i ] Actions.Menu[ i ] Actions.C i Actions.D i | visSectionAction | visRowAction+ i | visActionAction visActionMenuvisActionChecked visActionDisabled |
Alignment section 4 | AlignLeft AlignCenter AlignRight AlignTop AlignMiddle AlignBottom | visSectionObject | visRowAlign | visAlignLeft visAlignCenter visAlignRight visAlignTop visAlignMiddle visAlignBottom |
Character section | Char.Font[ i ] Char.Size[ i ] Char.FontScale[ i ] Char.Letterspace[ i ] Char.Color[ i ] Char.Style[ i ] Char.Case[ i ] Char.Pos[ i ] Char.Strikethru[ i ] Char.DblUnderline[ i ] Char.Overline[ i ] Char.Perpendicular[ i ] Char.Locale[ i ] 5 Char.ColorTrans[ i ] | visSectionCharacter | visRowCharacter+ i | visCharacterFont visCharacterSize visCharacterFontScale visCharacterLetterspace visCharacterColor visCharacterStyle visCharacterCase visCharacterPos visCharacterStrikethru visCharacterDblUnderline visCharacterOverline visCharacterPerpendicular visCharacterLocale visCharacterColorTrans |
Connection Points section (non-extended row) | Connections.X i Connections.Y i Connections.DirX[ i ] Connections.DirY[ i ] Connections.Type[ i ] Connections.AutoGen[ i ] | visSectionConnectionPts | visRowConnectionPts+ i | visCnnctX visCnnctY visCnnctDirX visCnnctDirY visCnnctType visCnnctAutoGen |
Connection Points section (extended row 7 ) | Connections.X i Connections.Y i Connections.A i Connections.B i Geometry i.Y j | visSectionConnectionPts | visRowConnectionPts+ i | visCnnctX visCnnctY visCnnctA visCnnctB visY |
Controls section | Controls.X i Controls.Y i Controls.XDyn[ i ] Controls.YDyn[ i ] Controls.XCon[ i ] Controls.YCon[ i ] Controls.CanGlue[ i ] Controls.Prompt[ i ] 8 | visSectionControls | visRowControl+ i | visCtlX visCtlY visCtlXDyn visCtlYDyn visCtlXCon visCtlYCon visCtlGlue visCtlTip |
Custom Properties section | Prop. Name.Label Prop. Name.Prompt Prop. Name.SortKey Prop. Name.Type Prop. Name.Format Prop. Name.Value 9 Prop. Name.Invisible Prop. Name.Verify | visSectionProp | visRowProp + i | visCustPropsLabel visCustPropsPrompt visCustPropsSortKey visCustPropsType visCustPropsFormat visCustPropsValue visCustPropsInvis visCustPropsAsk |
Events section | TheData 10 TheText EventDblClick EventXFMod EventDrop | visSectionObject | visRowEvent | visEvtCellTheData visEvtCellTheText visEvtCellDblClick visEvtCellXFMod visEvtCellDrop |
Fill Format section | FillBkgnd FillPattern FillForegnd ShdwBkgnd ShdwPattern ShdwForegnd FillForegndTrans FillBkgndTrans ShdwForegndTrans ShdwBkgndTrans | visSectionObject | visRowFill | visFillBkgnd visFillPattern visFillForegnd visFillShdwBkgnd visFillShdwPattern visFillShdwForegnd visFillForegndTrans visFillBkgndTrans visFillShdwForegndTrans visFillShdwBkgndTrans |
Foreign Image Info section 11 | ImgWidth ImgHeight ImgOffsetY ImgOffsetX | visSectionObject | visRowForeign | visFrgnImgWidth visFrgnImgHeight visFrgnImgOffsetY visFrgnImgOffsetX |
Geometry i section | Geometry i.NoFill Geometry i.NoLine Geometry i.NoShow Geometry i.NoSnap | VisSectionFirst Component+ i | visRowComponent | visCompNoFill visCompNoLine visCompNoShow visCompNoSnap |
MoveTo row (in Geometry i section) | Geometry i.X j Geometry i.Y j | visRowVertex+ j | visX visY | |
LineTo row (in Geometry i section) | Geometry i.X j Geometry i.Y j | visRowVertex+ j | visX visY | |
ArcTo row (in Geometry i section) | Geometry i.X j Geometry i.Y j Geometry i.A j | visRowVertex + j | visX visY visBow | |
Elliptical ArcTo row (in Geometryi section) | Geometryi.Xj Geometryi.Yj Geometryi.Aj Geometryi.Bj Geometryi.Cj Geometryi.Dj | visRowVertex + j | visX visY visControlX visControlY visEccentricityAngle visAspectRatio | |
PolylineTo row (in Geometryi section) | Geometryi.Xj Geometryi.Yj Geometryi.Aj | visRowVertex + j | visX visY visPolylineData | |
NURBSTo row (in Geometryi section) | Geometryi.Xj Geometryi.Yj Geometryi.Aj Geometryi.Bj Geometryi.Cj Geometryi.Dj Geometryi.Ej | visRowVertex + j | visX visY visNURBSKnot visNURBSWeight visNURBSKnotPrev visNURBSWeightPrev visNURBSData | |
SplineStart row (in Geometryi section) | Geometryi.Xj Geometryi.Yj Geometryi.Aj Geometryi.Bj Geometryi.Cj Geometryi.Dj | visRowVertex + j | visX visY visSplineKnot visSplineKnot2 visSplineKnot3 visSplineDegree | |
SplineKnot row (in Geometryi section) | Geometryi.Xj Geometryi.Yj Geometryi.Aj | visRowVertex + j | visX visY visSplineKnot | |
InfiniteLine row (in Geometryi section) | Geometryi.X1 Geometryi.Y1 Geometryi.A1 Geometryi.B1 | visRowVertex | visInfiniteLineX1 visInfiniteLineY1 visInfiniteLineX2 visInfiniteLineY2 | |
Ellipse row (in Geometry i section) | Geometry i.X1 Geometry i.Y1 Geometry i.A1 Geometry i.B1 Geometry i.C1 Geometry i.D1 |
| visRowVertex | visEllipseCenterX visEllipseCenterY visEllipseMajorX visEllipseMajorY visEllipseMinorX visEllipseMinorY |
Glue Info section | GlueType WalkPreference BegTrigger EndTrigger | visSectionObject | visRowMisc | visGlueType visWalkPref visBegTrigger visEndTrigger |
Group Properties section 12 | SelectMode DisplayMode IsTextEditTarget IsSnapTarget IsDropTarget DontMoveChildren | visSectionObject | visRowGroup | visGroupSelectMode visGroupDisplayMode visGroupIsTextEditTarget visGroupIsSnapTarget visGroupIsDropTarget visGroupDontMoveChildren |
HyperLinks section | Hyperlink. Name Description Hyperlink. Name.Address Hyperlink. Name.SubAddres Hyperlink. Name.ExtraInfo Hyperlink. Name.Frame Hyperlink. Name.NewWindow Hyperlink. Name.Default | visSectionHyperlink | visRow1stHyperlink+ I visHLinkAddress visHLinkSubAddress visHLinkExtraInfo visHLinkFrame | visHLinkDescription section visHLinkNewWin visHLinkDefault |
Image Properties section 13 | Contrast Brightness Gamma Blur Sharpen Denoise Transparency | visSectionObject | visRowImage | visImageContrast visImageBrightness visImageGamma visImageBlur visImageSharpen visImageDenoise visImageTransparency |
Layer Membership section | LayerMember | visSectionObject | visRowLayerMem | visLayerMember |
Line Format section | LineWeight LineColor LinePattern BeginArrow EndArrow LineCap BeginArrowSize EndArrowSize Rounding LineColorTrans | visSectionObject | visRowLine | visLineWeight visLineColor visLinePattern visLineBeginArrow visLineEndArrow visLineEndCap visLineBeginArrowSize visLineEndArrowSize visLineRounding visLineColorTrans |
Miscellaneous section | NoObjHandles NonPrinting NoCtlHandles NoAlignBox UpdateAlignBox HideText ObjType DynFeedback NoLiveDynamic IsDropSource Comment | visSectionObject | visRowMisc | visNoObjHandles visNonPrinting visNoCtlHandles visNoAlignBox visUpdateAlignBox visHideText visLOFlags visDynFeedback visNoLiveDynamics visDropSource visComment |
Paragraph section | Para.IndFirst[ i ] Para.IndLeft[ i ] Para.IndRight[ i ] Para.SpLine[ i ] Para.SpBefore[ i ] Para.SpAfter[ i ] Para.HorzAlign[ i ] Para.Bullet[ i ] Para.BulletStr[ i ] | visSectionParagraph | visRowParagraph+ i | visIndentFirst visIndentLeft visIndentRight visSpaceLine visSpaceBefore visSpaceAfter visHorzAlign visBulletIndex visBulletString |
Protection section | LockWidth LockHeight LockMoveX LockMoveY LockAspect LockDelete LockBegin LockEnd LockRotate LockCrop LockVtxEdit LockTextEdit LockFormat LockGroup LockCalcWH LockSelect | visSectionObject | visRowLock | visLockWidth visLockHeight visLockMoveX visLockMoveY visLockAspect visLockDelete visLockBegin visLockEnd visLockRotate visLockCrop visLockVtxEdit visLockTextEdit visLockFormat visLockGroup visLockCalcWH visLockSelect |
Scratch section | Scratch.X i Scratch.Y i Scratch.A i Scratch.B i Scratch.C i Scratch.D i | visSectionScratch | visRowScratch+ i | visScratchX visScratchY visScratchA visScratchB visScratchC visScratchD |
Shape Layout section | ShapePermeableX ShapePermeableY ShapePermeablePlace ShapeFixedCode ShapePlowCode ShapeRouteStyle ConLineJumpDirX ConLineJumpDirY ConFixedCode ConLineJumpCode ConLineJumpStyle ShapePlaceFlip ConLineRouteExt | visSectionObject | visRowShapeLayout | visSLOPermX visSLOPermY visSLOPermeablePlace visSLOFixedCode visSLOPlowCode visSLORouteSyle visSLOJumpDirX visSLOJumpDirY visSLOConFixedCode visSLOJumpCode visSLOJumpStyle visSLOPlaceFlip visSLOLineRouteExt |
Shape Transform section | PinX PinY Width Height LocPinX LocPinY Angle FlipX FlipY ResizeMode | visSectionObject | visRowXFormOut | visXFormPinX visXFormPinY visXFormWidth visXFormHeight visXFormLocPinX visXFormLocPinY visXFormAngle visXFormFlipX visXFormFlipY visXFormResizeMode |
Tabs section | Tabs. ci 14 Tabs. ci 14 | visSectionTab | visRowTab + i | visTabStopCount 5 (j *3) + visTabPos 15 (j *3) + visTabAlign 15 |
Text Block Format section | VerticalAlign TopMargin BottomMargin LeftMargin RightMargin TextBkgnd TextDirection DefaultTabStop TextBkgndTrans | visSectionObject | visRowText | visTxtBlkVerticalAlign visTxtBlkTopMargin visTxtBlkBottomMargin visTxtBlkLeftMargin visTxtBlkRightMargin visTxtBlkBkgnd visTxtBlkDirection visTxtBlkDefaultTabStop visTxtBlkBkgndTrans |
Text Fields section 16 | Fields.Type[ i ] Fields.Format[ i ] Fields.Value[ i ] Fields.EditMode[ i ] Fields.UICat[ i ] Fields.UICod[ i ] Fields.UIFmt[ i ] | visSectionTextField | visRowField + i | visFieldType visFieldFormat visFieldCell visFieldEditMode visFieldUICategory visFieldUICode visFieldUIFormat |
Text Transform section | TxtPinX TxtPinY TxtWidth TxtHeight TxtLocPinX TxtLocPinY TxtAngle | visSectionObject | visRowTextXForm | visXFormPinX visXFormPinY visXFormWidth visXFormHeight visXFormLocPinX visXFormLocPinY visXFormAngle |
User-Defined Cells section | User. Name.Value 9 User. Name.Prompt | visSectionUser | visRowUser + i | visUserValue visUserPrompt |
Footnotes
1. This section and its cells do not appear in the ShapeSheet window.
2. This cell can be written only once.
3. This section is present only for 1-D shapes.
4. This section is present only for two-dimensional (2-D) shapes that are glued to a guide.
5. This cell does not appear in the ShapeSheet window.
6. Non-extended rows have a row type of visTagCnnctPt or visTagCnnctNamed .
7. Extended rows have a row type of visTagCnnctPtABCD or visTagCnnctNamedABCD .
8. This cells appears only if the control has a tool tip (row type of visTagCtlPtTip).
9. This cell is the default and its name can be omitted from the cell reference.
10. This cell appears in the ShapeSheet window but is reserved for internal use.
11. This section is present only for linked objects, embedded objects, or Controls.
12. This section is present only for groups.
13. This section is present only for bitmaps.
14. The variable c represents a character and the variable i represents the row number.
15. The variable j represents a tab stop in this section.
16. This section is present only if you've inserted a field into the shape's text.
The following table lists sections, rows, and cells that are displayed in the ShapeSheet window for a style, with constants for the corresponding section, row, and cell indices.
You can reference many of the same sections and cells for a style that you can for a shape: Protection, Miscellaneous, Group Properties, Line Format, Fill Format, Characters, Paragraph, Tabs, Text Block Format, Events, Image Properties, and Shape Layout sections. For information on these sections and cells, see Section, Row, and Cell Indices for Shapes earlier in this appendix. You can also reference the section and cells shown in this table for a style.
Note
Section or row | Cell | Section index | Row index | Cell index |
Style Properties section | EnableTextProps EnableLineProps EnableFillProps HideForApply | visSectionObject | visRowStyle | visStyleIncludesText visStyleIncludesLine visStyleIncludesFill visStyleHidden |
The following table lists sections, rows, and cells that are displayed in the ShapeSheet window for a drawing page or master, with constants for the corresponding section, row, and cell indices.
You can reference some of the same sections and cells for a page or master that you can for a shape: Actions, Custom Properties, Hyperlinks, Scratch, and User-Defined Cells sections. For information on these sections and cells, see Section, Row, and Cell Indices for Shapes earlier in this appendix. You can also reference the sections and cells shown in this table for a page.
Note To show the ShapeSheet window for a page or master, make sure nothing is selected on the page, and then click Show ShapeSheet on the Window menu. If Visio is running in developer mode, you can right-click the page, and then click Show ShapeSheet on the shortcut menu.
Section or row | Cell | Section index | Row index | Cell index |
Layers section | Layers.Name[i] Layers.Visible[i] Layers.Status[i]1 Layers.Print[i] Layers.Active[i] Layers.Locked[i] Layers.Snap[i] Layers.Glue[i] Layers.Color[i] Layers.NameUniv[i]1 Layers.ColorTrans[i] | visSectionLayer | visRowLayer + i | visLayerName visLayerVisible visLayerStatus visLayerPrint visLayerActive visLayerLock visLayerSnap visLayerGlue visLayerColor visLayerNameUniv visLayerColorTrans |
Page Layout section | PlaceStyle PlaceDepth PlowCode ResizePage DynamicsOff EnableGrid CtrlAsInput BlockSizeX BlockSizeY AvenueSizeX AvenueSizeY RouteStyle PageLineJumpDirX PageLineJumpDirY LineToNodeX LineToNodeY LineToLineX LineToLineY LineJumpFactorX LineJumpFactorY LineJumpCode LineJumpStyle LineAdjustFrom LineAdjustTo PlaceFlip LineRouteExt | visSectionObject | visRowPageLayout | visPLOPlaceSyle visPLOPlaceDepth visPLOPlowCode visPLOResizePage visPLODynamicsOff visPLOEnableGrid visPLOCtrlAsInput visPLOBlockSizeX visPLOBlockSizeY visPLOAvenueSizeX visPLOAvenueSizeY visPLORouteSyle visPLOJumpDirX visPLOJumpDirY visPLOLineToNodeX visPLOLineToNodeY visPLOLineToLineX visPLOLineToLineY visPLOJumpFactorX visPLOJumpFactorY visPLOJumpCode visPLOJumpStyle visPLOLineAdjustFrom visPLOLineAdjustTo visPLOPlaceFlip visPLOLineRouteExt |
Page Properties section | PageWidth PageHeight PageScale DrawingScale ShdwOffsetX ShdwOffsetY DrawingSizeType DrawingScaleType InhibitSnap | visSectionObject | visRowPage | visPageWidth visPageHeight visPageScale visPageDrawingScale visPageShdwOffsetX visPageShdwOffsetY visPageDrawSizeType visPageDrawScaleType visPageInhibitSnap |
Ruler & Grid section | XRulerOrigin YRulerOrigin XRulerDensity YRulerDensity XGridOrigin YGridOrigin XGridDensity YGridDensity XGridSpacing YGridSpacing | visSectionObject | visRowRulerGrid | visXRulerOrigin visYRulerOrigin visXRulerDensity visYRulerDensity visXGridOrigin visYGridOrigin visXGridDensity visYGridDensity visXGridSpacing visYGridSpacing |
1 This cell does not appear in the ShapeSheet window.
You can reference some of the same sections and cells for a document that you can reference for a shape: Custom Properties, Hyperlinks, Scratch, and User-Defined Cells sections. For information on these sections and cells, see Sections, Row, and Cell Indices for Shapes earlier in this appendix. You can also reference the section and cells shown in this table for a document.
Note
Section or row | Cell | Section index | Row index | Cell index |
Document Properties section | PreviewQuality PreviewScopeOutput Format LockPreview | visSectionObject | visRowDoc | visDocPreviewQuality visDocPreviewScope visDocOutputFormat visDocLockPreview |
The tab settings for a shape's text are accessible from a program by section, row, and cell index. In Microsoft Visio, you can display and change tab settings by clicking Text on the Format menu, and then clicking Tabs or by using the Tabs section in the ShapeSheet window.
Section index | Row index | Cell index |
visSectionTab | visRowTab + i | 0 ... 180 |
The Tabs section contains a row for each set of tabs defined for the shape. Each row contains three cells for each tab stop defined in that row, up to 60 tab stops. Cells for the entire row are indexed starting with zero (0).
Tab stop | Index | Description |
0 | Number of active tabs in the row | |
1 | 1 | Position of the first tab |
1 | 2 | Alignment code for the first tab |
1 | 3 | Reserved |
2 | 4 | Position of the second tab |
2 | 5 | Alignment code for the second tab |
2 | 6 | Reserved |
. | . | . |
60 | 178 | Position of the 60th tab |
60 | 179 | Alignment code for the 60th tab |
60 | 180 | Reserved |
The number of tabs that can be set depends on the tab row type. You can change the row type by setting the Shape object's RowType property for the tab section and row to one of the row tag constants in the following table.
Constant | Description |
visTagTab0 | Zero tab stops |
visTagTab2 | Zero, one, or two tab stops |
visTagTab10 | Zero to 10 tab stops |
visTagTab60 | Zero to 60 tab stops |