Método Page.CreateSelection (Visio)
Cria vários tipos de objetos Selection.
Sintaxe
expression. CreateSelection
( _SelType_
, _IterationMode_
, _[Data]_
)
Expressão Uma variável que representa um objeto Page .
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
SelType | Obrigatório | VisSelectionTypes | O tipo de seleção. Consulte Comentários para valores possíveis. |
IterationMode | Opcional | VisSelectMode | O modo de seleção usado. Consulte Comentários para valores possíveis. |
Dados | Opcional | Variant | O tipo de objeto que corresponde ao argumento SelType. Consulte comentários para os valores possíveis. |
Valor de retorno
Seleção
Comentários
O método CreateSelection torna possível criar seleções complexas por programação. Assim, em vez de precisar selecionar todas as formas em uma página, por exemplo, você pode selecionar apenas as que estão em uma determinada camada ou as que se baseiam em um certo mestre.
Chamar o método CreateSelection com SelType igual a visSelTypeByType ou visSelTypeByLayer é equivalente a selecionar opções na caixa de diálogo Selecionar byType (clique em Selecionar no grupo Edição na guia Página Inicial e clique em Selecionar por Tipo).
O argumento SelType deve ser um dos seguintes valores, que são declarados em VisSelectionTypes na biblioteca de tipos do Visio.
Constant | Valor | Descrição |
---|---|---|
visSelTypeAll | 1 | Uma seleção que inicialmente contém todas as formas. |
visSelTypeByDataGraphic | 6 | Uma seleção que inicialmente contém todas as formas com um determinado tipo de gráfico de dados aplicado. |
visSelTypeByLayer | 3 | Uma seleção que inicialmente contém todas as formas de uma determinada camada. |
visSelTypeByMaster | 5 | Uma seleção que inicialmente contém todas as formas instanciadas de um determinado mestre. |
visSelTypeByRole | 7 | Uma seleção que inicialmente contém todas as formas de uma determinada função. |
visSelTypeByType | 4 | Uma seleção que inicialmente contém todas as formas de um determinado tipo. |
visSelTypeEmpty | 0 | Uma seleção que inicialmente não contém formas. |
visSelTypeSingle | 2 | Uma seleção que inicialmente contém uma forma. |
O argumento IterationMode opcional deve ser um dos seguintes valores, declarados em VisSelectMode na biblioteca de tipos do Visio. O padrão é visSelModeSkipSuper.
Constant | Valor | Descrição |
---|---|---|
visSelModeOnlySub | &H0800 | A seleção relata apenas formas subselecionadas. |
visSelModeOnlySuper | &H0200 | A seleção relata apenas formas superselecionadas. |
visSelModeSkipSub | &H0400 | A seleção não relata as formas subselecionadas. |
visSelModeSkipSuper | &H0100 | A seleção não relata as formas superselecionadas. |
O argumento Data opcional deve ser um objeto que corresponde ao tipo de objeto especificado por SelType. Por exemplo, se desejar selecionar todos os mestres de um determinado tipo, Data deverá ser do tipo Master. E se desejar selecionar todas as formas em uma determinada camada, Data deverá ser do tipo Layer.
Quando SelType é visSelTypeByRole, os dados devem ser membros da enumeração VisRoleSelectionTypes .
Quando o argumento SelType for visSelTypeByType, os valores possíveis de Data deverão ser um dos seguintes, declarados em VisTypeSelectionTypes na biblioteca de tipos do Visio.
Constant | Valor | Descrição |
---|---|---|
visTypeSelBitmap | 16 | Uma forma que é um bitmap. |
visTypeSelGroup | 1 | Uma forma que contém outras formas. |
visTypeSelGuide | 4 | Uma forma que é uma guia. |
visTypeSelInk | 32 | Uma forma que é tinta. |
visTypeSelMetafile | 8 | Uma forma que é um metarquivo. |
visTypeSelOLE | 64 | Uma forma que está vinculada, incorporada ou um controle. |
visTypeSelShape | 2 | Uma forma nativa do Visio. |
Exemplo
Esta macro do Microsoft Visual Basic for Applications (VBA) mostra como usar o método CreateSelection para selecionar todas as formas em uma determinada camada. Antes de executar essa macro, crie duas camadas em seu desenho, uma chamada "a" e outra chamada "b", e adicione formas a ambas as camadas.
Public Sub CreateSelection_Layer_Example()
Dim vsoLayer As Visio.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
Esta macro VBA mostra como usar o método CreateSelection para selecionar uma forma específica na página de desenho. Antes de executar essa macro, abra o estêncil Formas Básicas.
Public Sub CreateSelection_Page_Example()
Dim vsoSelection As Visio.Selection
Dim vsoShape As Visio.Shape
Application.ActiveWindow.Page.Drop Application.Documents("BASIC_U.VSS").Masters.ItemU("Rectangle"), 2, 9
Application.ActiveWindow.Page.Drop Application.Documents("BASIC_U.VSS").Masters.ItemU("Rectangle"), 5, 9
Application.ActiveWindow.Page.Drop Application.Documents("BASIC_U.VSS").Masters.ItemU("Rectangle"), 2, 7
Set vsoShape = ActivePage.Shapes(2)
Set vsoSelection = ActivePage.CreateSelection(visSelTypeSingle, visSelModeSkipSuper, vsoShape)
Application.ActiveWindow.Selection = vsoSelection
Debug.Print vsoShape.Name
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.