Classe ShapeNode - geometria (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. 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)

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

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.

Essa propriedade é somente leitura. Use o método SetEditingType para definir o valor dessa propriedade.


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

Points

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

Esta propriedade é somente leitura. Use o método SetPosition para definir o valor dessa propriedade.


Set myDocument = Worksheets(1) 
With myDocument.Shapes(3).Nodes 
 pointsArray = .Item(2).Points 
 currXvalue = pointsArray(1, 1) 
 currYvalue = pointsArray(1, 2) 
 .SetPosition 2, currXvalue + 200, currYvalue + 300 
End With

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.

Use o método SetSegmentType para definir o valor dessa propriedade.


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