Share via


FromPart Property [Visio 2003 SDK Documentation]

Returns the part of a shape from which a connection originates.

retVal = object**.FromPart**

retVal     Integer. The part of the shape where the connection originates.

object     Required. An expression that returns a Connect object.

Version added

2.0

Remarks

The following constants declared by the Microsoft Office Visio type library show return values for the FromPart property.

Constant Value

visConnectFromError

-1

visFromNone

0

visLeftEdge

1

visCenterEdge

2

visRightEdge

3

visBottomEdge

4

visMiddleEdge

5

visTopEdge

6

visBeginX

7

visBeginY

8

visBegin

9

visEndX

10

visEndY

11

visEnd

12

visFromAngle

13

visFromPin

14

visControlPoint

100 + zero-based row index (for example, visControlPoint = 100 if the control point is in row 0; visControlPoint = 101 if the control point is in row 1)

Example

This Microsoft Visual Basic for Applications (VBA) macro shows how to extract connection information from a Visio drawing. The example displays the connection information in the Immediate window.

This example assumes there is an active document that contains at least two connected shapes.

Public Sub FromPart_Example()
 
    Dim vsoShapes As Visio.Shapes 
    Dim vsoShape As Visio.Shape 
    Dim vsoConnectFrom As Visio.Shape 
    Dim intFromData As Integer
    Dim strFrom As String
    Dim vsoConnects As Visio.Connects 
    Dim vsoConnect As Visio.Connect 
    Dim intCurrentShapeIndex As Integer
    Dim intCounter As Integer
    Set vsoShapes = ActivePage.Shapes 

    'For each shape on the page, get its connections.
    For intCurrentShapeIndex = 1 To vsoShapes.Count 
        Set vsoShape = vsoShapes(intCurrentShapeIndex) 
        Set vsoConnects = vsoShape.Connects 

        'For each connection, get the shape it originates from
        'and the part of the shape it originates from,
        'and print that information in the Immediate window.
        For intCounter = 1 To vsoConnects.Count 
            Set vsoConnect = vsoConnects(intCounter) 
            Set vsoConnectFrom = vsoConnect.FromSheet 
            intFromData = vsoConnect.FromPart 

            'FromPart property values
            If intFromData = visConnectError Then
                strFrom = "error" 
            ElseIf intFromData = visNone Then
                strFrom = "none" 
            ElseIf intFromData = visLeftEdge Then
                strFrom = "left" 
            ElseIf intFromData = visCenterEdge Then
                strFrom = "center" 
            ElseIf intFromData = visRightEdge Then
                strFrom = "right" 
            ElseIf intFromData = visBottomEdge Then
                strFrom = "bottom" 
            ElseIf intFromData = visMiddleEdge Then
                strFrom = "middle" 
            ElseIf intFromData = visTopEdge Then
                strFrom = "top" 
            ElseIf intFromData = visBeginX Then
                strFrom = "beginX" 
            ElseIf intFromData = visBeginY Then
                strFrom = "beginY" 
            ElseIf intFromData = visBegin Then
                strFrom = "begin" 
            ElseIf intFromData = visEndX Then
                strFrom = "endX" 
            ElseIf intFromData = visEndY Then
                strFrom = "endY" 
            ElseIf intFromData = visEnd Then
                strFrom = "end" 
            ElseIf intFromData >= visControlPoint Then
                strFrom = "controlPt_" & _ 
                    Str(intFromData - visControlPoint + 1) 
            Else
                strFrom = "???" 
            End If  

            Debug.Print vsoConnectFrom.Name & " " & strFrom 

        Next intCounter 

    Next intCurrentShapeIndex 

End Sub

Applies to | Connect object

See Also | FromSheet property | ToPart property