Classe ShapeNode (Excel VBA)

A classe ShapeNode representa a geometria e as propriedades de edição de geometria dos nós em uma forma livre definida pelo usuário.

O procedimento principal da classe ShapeNode é ShapeNodes.Delete

Set

Para usar uma variável de classe ShapeNode, ela primeiro precisa ser instanciada por exemplo

Dim shpn as ShapeNode
Set shpn = ActiveChart.OLEObjects.ShapeRange.Nodes(Index:=1)

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo ShapeNode: ShapeNodes.Item, Shape.Nodes e ShapeRange.Nodes

For Each

Aqui está um exemplo de processamento dos itens ShapeNode em uma coleção.

Dim shpnNode As ShapeNode
For Each shpnNode In ActiveChart.OLEObjects.ShapeRange.Nodes
	
Next shpnNode

Métodos

Este é o método principal da classe ShapeNode

ShapeNodes.Delete - Exclui o objeto.

Dim lngIndex As Long: lngIndex = 
ActiveChart.OLEObjects.ShapeRange.Nodes.Delete Index:=lngIndex

Estes são os principais métodos da classe

ShapeNodes.Insert - Insere um nó em uma forma livre.

ShapeNodes.Item - Retorna um único objeto de uma coleção.

ShapeNodes.SetEditingType - Define o tipo de edição do nó especificado por Index. Se o nó for um ponto de controle para um segmento curvo, este método definirá o tipo de edição do nó adjacente a ele que interliga dois segmentos. Observe que, dependendo do tipo de edição, esse método pode afetar a posição dos nós adjacentes.

ShapeNodes.SetPosition - Define o local do nó especificado por Index. Observe que, dependendo do tipo de edição do nó, este método pode afetar a posição de nós adjacentes.

ShapeNodes.SetSegmentType - Define o tipo de segmento do segmento que vem após o nó especificado por Index. Se o nó for um ponto de controle de um segmento curvo, esse método definirá o tipo de segmento dessa curva. Observe que isso pode afetar o número total de nós inserindo ou excluindo nós adjacentes.

Propriedades

EditingType Se o nó especificado for um vértice, essa propriedade retorna um valor que indica como as alterações feitas no nó afetam os dois segmentos conectados ao nó. Somente leitura MsoEditingType.

Dim metEditingType As Office.MsoEditingType
metEditingType = ActiveChart.OLEObjects.ShapeRange.Nodes(1).EditingType

Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim objParent As Object
Set objParent = ActiveChart.OLEObjects.ShapeRange.Nodes(1).Parent

Points Retorna a posição do nó especificado como um par de coordenadas. Cada coordenada é expressa em pontos. Somente leitura .

Dim lngPoints As Long
lngPoints = ActiveChart.OLEObjects.ShapeRange.Nodes(1).Points

SegmentType Retorna um valor que indica se o segmento associado com o nó especificado é reto ou curvo. Se o nó especificado for um ponto de controle de um segmento curvo, essa propriedade retornará msoSegmentCurve. MsoSegmentType somente leitura.

Dim mstSegmentType As Office.MsoSegmentType
mstSegmentType = ActiveChart.OLEObjects.ShapeRange.Nodes(1).SegmentType

ShapeNodes.Count Retorna um valor Integer que representa o número de objetos na coleção.

Dim lngCount As Long
lngCount = ActiveChart.OLEObjects.ShapeRange.Nodes.Count

ShapeNodes.Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim objParent As Object
Set objParent = ActiveChart.OLEObjects.ShapeRange.Nodes.Parent