Shape.GetCustomPropertyLinkedColumn Method

Visio Automation Reference

Gets the name of the data column linked to the shape data (custom property) row in the shape's ShapeSheet spreadsheet specified by the custom property index.

ms195703.vs_note(en-us,office.12).gif  Note
This Visio object or member is available only to licensed users of Microsoft Office Visio Professional 2007.

Version Information
 Version Added:  Visio 2007

Syntax

expression.GetCustomPropertyLinkedColumn(DataRecordsetID, CustomPropertyIndex)

expression   An expression that returns a Shape object.

Parameters

Name Required/Optional Data Type Description
DataRecordsetID Required Long The ID of the data recordset that contains the data column linked to the shape's custom property.
CustomPropertyIndex Required Long The index of the shape data item (custom property) linked to the data column in the data recordset.

Return Value
String

Remarks

If the method fails, call the Shape.IsCustomPropertyLinked method to make sure that the shape data item (custom property row) was actually linked to the data column.

ms195703.vs_note(en-us,office.12).gif  Note
In previous versions of Visio, shape data were called custom properties.

Example

The following Microsoft Visual Basic for Applications (VBA) macro shows how to use the GetCustomPropertyLinkedColumn method to get the name of the data recordset column linked to a particular shape data item.

Before running this macro, add at least one data recordset to the DataRecordsets collection of the document. The macro drops a shape onto the page, links the shape to data in the data recordset most recently added to the collection, and then tests to make sure the linking is successful. If it is, it prints the name of the data recordset column linked to the specified shape data item (custom property) in the Immediate window.

Visual Basic for Applications
  Public Sub GetCustomPropertyLinkedColumn_Example()
Dim vsoDataRecordset As Visio.DataRecordset
Dim vsoShape As Visio.Shape
Dim intCount As Integer
Dim boolIsLinked As Boolean
Dim lngIndex As Long
Dim strColumnName As String
    
intCount = Visio.ActiveDocument.DataRecordsets.Count
Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intCount)
Set vsoShape = ActivePage.DrawRectangle(2, 2, 4, 4)

vsoShape.LinkToData vsoDataRecordset.ID, 1, True
boolIsLinked = vsoShape.IsCustomPropertyLinked(vsoDataRecordset.ID, 1)

If boolIsLinked Then

    strColumnName = vsoShape.GetCustomPropertyLinkedColumn(vsoDataRecordset.ID, 1)
    Debug.Print "Linked column name is", strColumnName

Else

    Debug.Print "Not linked."
    
End If

End Sub

See Also