Page.Drop Method (Visio)
Creates one or more new Shape objects by dropping an object onto a receiving object such as a master, drawing page, shape, or group.
expression .Drop(ObjectToDrop, xPos, yPos)
expression A variable that represents a Page object.
The object or selection 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.
Using the Drop method is similar to moving a shape with the mouse. The object dropped (ObjectToDrop) can be a master or a shape on the drawing page.
To add a shape to a group or on a drawing page, apply the Drop method to a Shape or Page object, respectively. The center of the shape's width-height box is positioned at the specified coordinates, and a Shape object that represents the shape that is created is returned. When applying this method to a Shape object, make sure that the Shape object represents a group.
If ObjectToDrop is a Master, the pin of the master is dropped at the specified coordinates. A master's pin is often, but not necessarily, at its center of rotation.
If your Visual Studio solution includes the Microsoft.Office.Interop.Visio reference, this method maps to the following types:
Microsoft.Office.Interop.Visio.IVPage.Drop(object, double, double)
The following example shows how to use the Drop method to drop shapes onto Page and Shape objects.
Public Sub Drop_Example() Dim vsoShape1 As Visio.Shape Dim vsoShape2 As Visio.Shape Dim vsoShape3 As Visio.Shape Dim vsoGroupShape As Visio.Shape Dim vsoSubShape As Visio.Shape Dim vsoSelection As Visio.Selection Set vsoShape1 = ActivePage.DrawRectangle(1, 2, 2, 1) Set vsoShape2 = ActivePage.DrawRectangle(1, 4, 2, 3) 'Drop a shape on the page. Set vsoShape3 = ActivePage.Drop(vsoShape1, 3.5, 3.5) 'Make sure only one shape is selected to start. Set vsoSelection = ActiveWindow.Selection vsoSelection.Select vsoShape1, visDeselectAll + visSelect vsoSelection.Select vsoShape2, visSelect 'Create a group shape. Set vsoGroupShape = vsoSelection.Group 'Drop a shape on the group shape to create a new subshape. Set vsoSubShape = vsoGroupShape.Drop(vsoShape3, 1, 2) End Sub