Page.Paste Method (Visio)

Pastes the contents of the Clipboard into an object.

Version Information

Version Added: Visio 2002

Syntax

expression .Paste(Flags)

expression A variable that represents a Page object.

Parameters

Name

Required/Optional

Data Type

Description

Flags

Optional

Variant

Determines how shapes are translated during the paste operation.

Return Value

Nothing

Remarks

The Paste method works only with Shape objects that are group shapes. Use the Type property of a shape to determine whether it is a group.

Possible values for Flags are declared by the Visio type library in VisCutCopyPasteCodes, and are described in the following table.

Flag

Value

Description

visCopyPasteNormal

&H0

Follow default copying behavior.

visCopyPasteNoTranslate

&H1

Copy shapes to their original coordinate locations.

visCopyPasteCenter

&H2

Copy shapes to the center of the page.

visCopyPasteNoHealConnectors

&H4

Do not clean up connectors attached to cut shapes.

visCopyPasteNoContainerMembers

&H8

Do not cut and copy unselected members of containers or lists.

visCopyPasteNoAssociatedCallouts

&H16

Do not cut and copy unselected callouts associated with shapes.

visCopyPasteDontAddToContainers

&H32

Do not add pasted shapes to any underlying containers.

visCopyPasteNoCascade

&H64

Do not offset shapes on copy.

Setting Flags to visCopyPasteNormal is the equivalent of the behavior in the user interface. You should use visCopyPasteNormal and the other flags consistently. For example, if you use the value visCopyPasteNoTranslate to copy, you should also use that value to paste, because that is the only way to ensure that shapes are pasted to their original coordinate location.

If you need to control the format of the pasted information and (optionally) establish a link to a source file (for example, a Microsoft Word document), use the PasteSpecial method.

Example

This Microsoft Visual Basic for Applications (VBA) macro shows how to use the Paste method. It draws a rectangle, copies it, and then pastes the copy onto the drawing page.

 
Public Sub Paste_Example() 
 
 Dim vsoShape As Visio.Shape 
 
 'Draw a rectangle. 
 Set vsoShape = ActivePage.DrawRectangle(1, 5, 5, 1) 
 
 'Copy the shape to the Clipboard. 
 vsoShape.Copy 
 
 'Paste the copy onto the drawing page. 
 ActivePage.Paste 
 
End Sub