Compartilhar via


Evento Shape.ShapeAdded (Visio)

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

Sintaxe

expressão. ShapeAdded (Forma)

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 Forma pode servir como objeto de origem para o evento ShapeAdded se a propriedade Tipo 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 acionado por uma nova forma ou grupo de formas que estão a ser adicionadas à página, por um conjunto de formas existentes a serem agrupadas ou por uma ação de colagem, pode utilizar a propriedade Application.IsInScope . Se IsInScope retornar True quando passado visCmdObjectGroup, o evento ShapeAdded foi disparado por uma ação em grupo. Se IsInScope devolver Verdadeiro quando for transmitido visCmdUFEditPaste ou visCmdEditPasteSpecial, o evento ShapeAdded foi acionado por uma operação de colagem. 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 quiser criar os seus próprios objetos de Evento , utilize 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 processador inicializa uma variável de número inteiro, intNumberOfSquares , que é utilizada 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 processador verifica a propriedade Master da nova forma e, se a forma for baseada no master Quadrado, 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.