Page.DropLinked Method (Visio)

Returns a new shape on the drawing page linked to data in a data recordset.


This Visio object or member is available only to licensed users of Microsoft Visio Professional 2010 or Visio Premium 2010.

Version Added: Visio 2007

expression .DropLinked(ObjectToDrop, x, y, DataRecordsetID, DataRowID, ApplyDataGraphicAfterLink)

expression An expression that returns a Page object.




Data Type





The object to drop. While this is typically a Visio object such as a Master, Shape, or Selection object; it can be any OLE object that provides an IDataObject interface.




The x-coordinate at which to place the center of the shape's width or PinX.




The y-coordinate at which to place the center of the shape's height or PinY.




The ID of the data recordset that contains the data to link to.




The ID of the data row that contains the data to link to.




Whether to apply the current data graphic to the linked shape. The default is not to apply a data graphic. See Remarks for more information.

Return Value


When you want to create shapes already linked to data on a drawing page that either does not contain any shapes or contains shapes other than the ones you want to link, you can use the Page.DropLinked and Page.DropManyLinkedU methods to create one or more additional shapes already linked to data. These methods resemble the existing Page.Drop and Page.DropManyU methods in that they create additional shapes at a specified location on the page; but in addition, they create links between the new shapes and specified data rows in a specified data recordset.

When the object you pass for the ObjectToDrop parameter is a shape, the center of the resulting shape's width-height box is positioned at the specified coordinates, and a Shape object that represents the shape that is created is returned.

If ObjectToDrop is a Master, the pin of the master is positioned at the specified coordinates. A master's pin is often, but not necessarily, at its center of rotation.

If you pass True for the optional ApplyDataGraphicsAfterLink parameter, Visio applies the data graphic most recently applied to any other shape in the current document.

The following Microsoft Visual Basic for Applications (VBA) macro shows how to use the DropLinked method to create a shape on the active drawing page, centered at page coordinates (2, 2), and linked to a data row in the data recordset most recently added to the active document.

The shape passed to the DropLinked method is a simple rectangle from the Basic Shapes (US units) stencil. Before running this macro, use the DataRecordsets.Add method or another means to add at least one data recordset to the DataRecordsets collection, and make sure that the Basic Shapes (US units) stencil is open in the Visio drawing window. In this example, the ID of the data row is set to 1; before running the code, ensure that a row with that ID exists, or change the ID value in the code.

Public Sub DropLinked_Example() 
    Dim vsoShape As Visio.Shape 
    Dim vsoMaster As Visio.Master 
    Dim dblX As Double 
    Dim dblY As Double  
    Dim lngDataRowID As Long 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intRecordesetCount As Integer 
    intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount) 
    Set vsoMaster = Visio.Documents("Basic_U.VSS").Masters("Rectangle") 
    dblX = 2 
    dblY = 2 
    lngDataRowID = 1 
    Set vsoShape = ActivePage.DropLinked(vsoMaster, dblX, dblY, vsoDataRecordset.ID, lngDataRowID, True) 
End Sub