Clase FreeformBuilder - geometría de una forma libre mientras se está creando (Excel VBA)
La clase FreeformBuilder representa la geometría de una forma libre mientras se está creando. Para usar una variable de clase FreeformBuilder, primero debe ser instanciado, por ejemplo
Dim fbr as FreeformBuilder
Set fbr = Application.ActiveChart.Shapes
AddNodes
Agrega un punto en la forma actual y, a continuación, dibuja una línea desde el nodo actual hasta el último nodo que se ha agregado.
MsoEditingType no puede ser msoEditingSmooth ni msoEditingSymmetric.
AddNodes (SegmentType, EditingType, X1, Y1, X2, Y2, X3, Y3)
Set myDocument = Worksheets(1)
With myDocument.Shapes.BuildFreeform(msoEditingCorner, 360, 200)
.AddNodes msoSegmentCurve, msoEditingCorner, _
380, 230, 400, 250, 450, 300
.AddNodes msoSegmentCurve, msoEditingAuto, 480, 200
.AddNodes msoSegmentLine, msoEditingAuto, 480, 400
.AddNodes msoSegmentLine, msoEditingAuto, 360, 200
.ConvertToShape
End With
Arguments
Estos son los argumentos con nombre :
SegmentType (Office.MsoSegmentType) - Tipo de segmento que se va a agregar.
EditingType (Office.MsoEditingType) - Propiedad de modificación del vértice.
X1 - Single
Y1 - Single
Optional arguments
Los siguientes argumentos son opcionales
X2 - Long
Y2 - Long
X3 (Long) - Si el parámetro EditingType del nuevo segmento es msoEditingCorner, este argumento especifica la distancia horizontal (en puntos) desde la esquina superior izquierda del documento hasta el segundo punto de control del nuevo segmento.
Y3 - Long
ConvertToShape
Crea una forma que tiene las características geométricas del objeto FreeformBuilder especificado.
Debe aplicar el método AddNodes a un objeto FreeformBuilder al menos una vez antes de utilizar el método ConvertToShape.
Dim shpConvertToShape As Shape
Set shpConvertToShape = ActiveChart.Shapes.BuildFreeform.ConvertToShape()