Поделиться через


Свойство Window.Selection (Visio)

Возвращает объект Selection, представляющий то, что в настоящее время выбрано в окне, или назначает объекту Selection выделение, созданное методом CreateSelection. Для чтения и записи.

Синтаксис

expression. Выбор

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

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

Selection

Замечания

Объект Selection не зависит от выделенного фрагмента в окне, который впоследствии может измениться в результате действий пользователя.

Объект Selection — это набор фигур в общем контексте, в котором можно выполнять действия. Объект Selection аналогиен нескольким выбранным фигурам в окне рисования. После установки или извлечения объекта Selection можно изменить набор фигур, который представляет объект, с помощью метода Select .

После использования метода CreateSelection для создания выделенного фрагмента можно использовать свойство Selection для фактического отображения только что созданного выделения в окне документа Microsoft Visio. См. второй пример ниже.

Пример

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

Public Sub Selection_Example() 
 
 Const MAX_SHAPES = 6 
 Dim vsoShapes(1 To MAX_SHAPES) As Visio.Shape 
 Dim vsoSelection As Visio.Selection 
 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 
 
 'Deselect all the shapes in the active window. 
 ActiveWindow.DeselectAll 
 
 'Select all the shapes in the active window. 
 ActiveWindow.SelectAll 
 
 'Get the selected shapes and assign them to a Selection object. 
 Set vsoSelection = ActiveWindow.Selection 
 
End Sub

В этом макросе VBA показано, как использовать метод CreateSelection для выбора всех фигур на определенном слое. Затем он использует свойство Selection для отображения выделенного фрагмента в окне документа Visio.

Перед выполнением этого макроса создайте в документе два слоя с именем "a" и "b", а затем добавьте фигуры в оба слоя.

Public Sub Selection_Example_2() 
 
 Dim vsoLayer As Layer 
 Dim vsoSelection As Visio.Selection 
 
 Set vsoLayer = ActivePage.Layers.ItemU("a") 
 Set vsoSelection = ActivePage.CreateSelection(visSelTypeByLayer, visSelModeSkipSuper, VsoLayer) 
 
 Application.ActiveWindow.Selection = vsoSelection 
 
End Sub

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

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