Свойство 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 и обратная связь.