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