Метод Selection.Select (Visio)

Выделение или очистка выделенного объекта.

Синтаксис

expression. Select (SheetObject, SelectAction)

Выражение Переменная, представляющая объект Selection .

Параметры

Имя Обязательный или необязательный Тип данных Описание
SheetObject Обязательный [IVSHAPE] Выражение, возвращающее объект Shape для выбора или очистки.
SelectAction Обязательный Integer Тип выполняемого действия выбора.

Возвращаемое значение

Отсутствует

Примечания

При использовании с объектом Window метод Select будет влиять на выбор в окне Microsoft Visio. Объект Selection , однако, не зависит от выделенного фрагмента в окне. Таким образом, использование метода Select с объектом Selection влияет только на состояние объекта в памяти; окно Visio не влияет.

Следующие константы, объявленные библиотекой типов Visio в VisSelectArgs , показывают допустимые значения для типов выделения.

Константа Значение Описание
visDeselect 1 Отменяет выделение фигуры, но оставляет оставшуюся часть выделения без изменений.
visSelect 2 Выбирает фигуру, но оставляет оставшуюся часть выделенного фрагмента без изменений.
visSubSelect 3 Выбирает фигуру, родительский элемент которой уже выбран.
visSelectAll 4 Выбирает фигуру и все ее одноранговые элементы.
visDeselectAll 256 Отменяет выбор фигуры и всех ее одноранговых элементов.

Если параметр SelectAction имеет значение visSubSelect, необходимо уже выбрать родительскую фигуру SheetObject .

Вы можете объединить visDeselectAll с visSelect и visSubSelect , чтобы отменить выбор всех фигур перед выделением или подвыбором других фигур.

Если управляемый объект является объектом Selection и если метод Select выбирает объект Shape , свойство ContainingShape которого отличается от свойства ContainingShape объекта Selection , метод Select очищает все, даже если значение типа выделения не указывает отмену выделения.

Если объект, с которым выполняется работа, является объектом Window , а selectAction не является visSubSelect, родительская форма Объекта SheetObject должна иметь ту же форму, что и форма, возвращаемая свойством ContainingShape объекта Window.Selection .

Пример

В этом макросе Microsoft Visual Basic для приложений (VBA) показано, как выбирать, очищать и подбирать фигуры.

 
Public Sub Select_Example() 
 
 Const MAX_SHAPES = 6 
 Dim vsoShapes(1 To MAX_SHAPES) As Visio.Shape 
 Dim intCounter As Integer 
 
 'Draw six rectangles. 
 For intCounter = 1 To MAX_SHAPES 
 Set vsoShapes(intCounter) = ActivePage.DrawRectangle(intCounter, intCounter + 1, intCounter + 1, intCounter) 
 Next intCounter 
 
 'Cancel the selection of all the shapes on the page. 
 ActiveWindow.DeselectAll 
 
 'Create a Selection object. 
 Dim vsoSelection As Visio.Selection 
 Set vsoSelection = ActiveWindow.Selection 
 
 'Select the first three shapes on the page. 
 For intCounter = 1 To 3 
 vsoSelection.Select vsoShapes(intCounter), visSelect 
 Next intCounter 
 
 'Group the selected shapes. 
 'Although the first three shapes are now grouped, the 
 'array vsoShapes() still contains them. 
 Dim vsoGroup As Visio.Shape 
 Set vsoGroup = vsoSelection.Group 
 
 'There are now four shapes on the page - a group that contains three 
 'subshapes, and three ungrouped shapes. Subselection is 
 'accomplished by selecting the parent shape first or one of the 
 'group's shapes already subselected. 
 
 'Select parent (group) shape. 
 ActiveWindow.Select vsoGroup, visDeselectAll + visSelect 
 
 'Subselect two of the shapes in the group. 
 ActiveWindow.Select vsoShapes(1), visSubSelect 
 ActiveWindow.Select vsoShapes(3), visSubSelect 
 
 'At this point two shapes are subselected, but we want to 
 'start a new selection that includes the last two shapes 
 'added to the page and the group. 
 
 'Note that the subselections that were made in the group 
 'are canceled by selecting another shape that is 
 'at the same level as the parent of the subselected shapes. 
 
 'Select just one shape. 
 ActiveWindow.Select vsoShapes(MAX_SHAPES), _ 
 visDeselectAll + visSelect 
 
 'Select another shape. 
 ActiveWindow.Select vsoShapes(MAX_SHAPES - 1), visSelect 
 
 'Select the group. 
 ActiveWindow.Select vsoGroup, visSelect 
 
 'Select all but one shape on the page. 
 ActiveWindow.SelectAll 
 ActiveWindow.Select vsoShapes(MAX_SHAPES - 1), visDeselect 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.