Share via


Selection.Rotate Method

Visio Automation Reference

Rotates selected shapes either as a group or individually about their pins. .

Version Information
 Version Added:  Visio 2003

Syntax

expression.Rotate(Angle, AngleUnitsNameOrCode, BlastGuards, RotationType, PinX, PinY, PinUnitsNameOrCode)

expression   A variable that represents a Selection object.

Parameters

Name Required/Optional Data Type Description
Angle Required Double Specifies the angle to rotate the selection. See Remarks for possible values.
AngleUnitsNameOrCode Optional Variant Specifies the units to use for Angle. See Remarks for possible values. The default is degrees.
BlastGuards Optional Boolean True to override formulas in the ShapeSheet of any of the selected shapes to which the GUARD function has been applied; False to leave guarded formulas unchanged. The default is False.
RotationType Optional VisRotationTypes Specifes how the selection is to be rotated. See Remarks for possible values.
PinX Optional Double When RotationType is visRotateSelectionWithPin , specifies the X-position of the pin about which the selection is to be rotated.
PinY Optional Double When RotationType is visRotateSelectionWithPin , specifies the Y-position of the pin about which the selection is to be rotated.
PinUnitsNameOrCode Optional Variant Specifies the units to use for PinX and PinY. See Remarks for possible values. The default is inches.

Return Value
Nothing

Remarks

The following possible values for RotationType are declared in VisRotationTypes in the Visio type library.

Constant Value Description

visRotateSelectionWithPin

1

Rotates the selection around a pin.

visRotateSelection

0

Rotates the selection relative to the center of the selection.

visRotateShapes

2

Rotates the selected shapes around their pins relative to their current angle.

Passing True for the optional BlastGuards argument overrides formulas in the ShapeSheet of any of the selected shapes to which the GUARD function has been applied.

The default value for RotationType is visRotateSelection .

You can specify AngleUnitsNameOrCode or PinUnitsNameOrCode as an integer (a member of VisUnitCodes) or a string value such as "radians" or "inches". If the string is invalid or the unit code is inappropriate (nontextual), an error is generated.

For a complete list of valid unit strings along with corresponding Automation constants (integer values), see About units of measure.

Example

This Microsoft Visual Basic for Applications (VBA) macro shows how to use the Rotate method to rotate a selection 45 degrees relative to the center of the selection.

Visual Basic for Applications
  Public Sub Rotate_Example()
Dim vsoShape1 As Visio.Shape
Dim vsoShape2 As Visio.Shape

Set vsoShape1 = Application.ActiveWindow.Page.DrawRectangle(1, 9, 3, 7)
Set vsoShape2 = Application.ActiveWindow.Page.DrawRectangle(3, 6, 5, 5)

ActiveWindow.DeselectAll

ActiveWindow.Select vsoShape1, visSelect
ActiveWindow.Select vsoShape2, visSelect

Application.ActiveWindow.Selection.Rotate 45, visDegrees

End Sub

See Also