Compartilhar via


Evento Shape.ShapeAdded (Visio)

Ocorre após uma ou mais formas serem adicionadas a um documento.

Sintaxe

expressão. ShapeAdded (Shape)

Expressão Uma variável que representa um objeto Shape .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Formato Obrigatório [IVSHAPE] A forma ou a seleção de grupo de formas que foi adicionada ao documento.

Comentários

Um objeto Shape pode servir como o objeto de origem para o evento ShapeAdded se a propriedade Type da forma for visTypeGroup (2) ou visTypePage (1).

Os eventos SelectionAdded e ShapeAdded são semelhantes pois são disparados após a(s) forma(s) ser(em) criada(s). Eles diferem na maneira em que se comportam quando uma única operação adiciona várias formas. Suponha que uma operação Paste crie três novas formas. O evento ShapeAdded é disparado três vezes e age em cada um dos três objetos. O evento SelectionAdded é disparado uma vez e age em um objeto Selection no qual as três novas formas são selecionadas.

Para determinar se um evento ShapeAdded foi disparado por uma nova forma ou grupo de formas que está sendo adicionado à página, por um conjunto de formas existentes sendo agrupadas ou por uma ação de colar, você pode usar a propriedade Application.IsInScope . Se IsInScope retornar True quando passado visCmdObjectGroup, o evento ShapeAdded foi disparado por uma ação em grupo. Se IsInScope retornar True quando passado visCmdUFEditPaste ou visCmdEditPasteSpecial, o evento ShapeAdded foi disparado por uma operação de pasta. Se IsInScope retornar False quando passado por todos esses argumentos, o evento deve ter sido disparado por novas formas adicionadas à página.

Se estiver usando o Microsoft Visual Basic ou o Visual Basic for Applications (VBA), a sintaxe deste tópico descreverá uma maneira comum e eficiente de lidar com eventos.

Se você quiser criar seus próprios objetos Event , use o método Add ou AddAdvise .

Para criar um objeto Event que execute um complemento, use o método Add, uma vez que ele aplica-se à coleção EventList.

Para criar um objeto Event que receba notificação, use o método AddAdvise.

Para localizar um código de evento que você deseja criar, consulte Códigos de eventos.

Exemplo

Este exemplo VBA mostra como contar formas adicionadas a um desenho com base em um mestre chamado Square. Cole o código no projeto do documento ativo no Visio.

O manipulador de evento DocumentSaved é executado quando o documento ativo é salvo. O manipulador inicializa uma variável inteiro, intNumberOfSquares , que é usada para armazenar a contagem.

O manipulador de eventos ShapeAdded é executado a cada vez que uma forma é adicionada à página de desenho, seja a forma arrastada de um estêncil, desenhada com uma ferramenta de desenho ou colada a partir da Área de transferência. O manipulador verifica a propriedade Mestre da nova forma e, se a forma for baseada no mestre square , incrementa intNumberOfSquares.

 
Dim intNumberOfSquares As Integer 
 
Private Sub Document_DocumentSaved(ByVal vsoDocument As Visio.IVDocument) 
 
 'Initialize number of squares added. 
 intNumberOfSquares = 0 
 
End Sub 
 
Private Sub Document_ShapeAdded(ByVal vsoShape As Visio.IVShape) 
 
 Dim vsoMaster As Visio.Master 
 
 'Get the Master property of the shape. 
 Set vsoMaster = vsoShape.Master 
 
 'Check whether the shape has a master. If not, 
 'the shape was created locally. 
 If Not (vsoMaster Is Nothing) Then 
 
 'Check whether the master is "Square". 
 If vsoMaster.Name = "Square" Then 
 
 'Increment the count for the number of squares added. 
 intNumberOfSquares = intNumberOfSquares + 1 
 
 End If 
 
 End If 
 
 MsgBox "Number of squares: " & intNumberOfSquares, vbInformation, _ 
 "Document Created Example" 
 
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.