Propriedade Window.Selection (Visio)
Retorna um objeto Selection que representa o que está atualmente selecionado na janela ou atribui uma seleção criada pelo método CreateSelection a um objeto Selection. Leitura/gravação.
Sintaxe
expressão. Seleção
Expressão Uma variável que representa um objeto Window .
Valor de retorno
Selection
Comentários
O objeto Selection é independente da seleção na janela, que pode se alterar subsequentemente como resultado de ações do usuário.
Um objeto Selection é um conjunto de formas em um contexto comum no qual você pode executar ações. Um objeto Selection é análogo a mais de formas selecionadas em uma janela de desenho. Depois de ter definido ou recuperado um objeto Selection, você pode alterar o conjunto de formas que o objeto representa usando o método Select.
Após usar o método CreateSelection para criar uma seleção, você poderá usar a propriedade Selection para realmente exibir a seleção recém-criada na janela de desenho do Microsoft Visio. Veja o segundo exemplo a seguir.
Exemplo
Essa macro do Microsoft Visual Basic for Applications (VBA) mostra como usar a propriedade Selection para obter todas as formas selecionadas na janela.
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
Essa macro do VBA mostra como usar o método CreateSelection para selecionar todas as formas em uma camada específica. Em seguida, ele usa a propriedade Selection para exibir a seleção na janela de desenho do Visio.
Antes de executar essa macro, crie duas camadas no desenho, uma chamada "a" e outra chamada "b", e adicione formas a ambas as camadas.
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
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.