Clase FreeformBuilder - geometría de una forma libre mientras se está creando (Word VBA)
La clase FreeformBuilder representa la geometría de una forma libre mientras se crea. Para usar una variable de clase FreeformBuilder, primero debe ser instanciado, por ejemplo
Dim fbr as FreeformBuilder
Set fbr = Application.ActiveDocument.Background.CanvasItems
AddNodes
Inserta un nuevo segmento al final de la forma libre que se está creando y agrega los nodos que definen el segmento.
Puede utilizar este método tantas veces como desee para agregar nodos a la forma libre que está creando.
AddNodes (SegmentType, EditingType, X1, Y1, X2, Y2, X3, Y3)
Dim docActive As Document
Set docActive = ActiveDocument
With docActive.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 - Single
Y2 - Single
X3 (Single) - 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 extremo final del nuevo segmento.
Y3 - Single
ConvertToShape
Crea una forma con las características geométricas del objeto especificado.
Debe aplicar el método AddNodes a un objeto FreeformBuilder al menos una vez antes de utilizar el método ConvertToShape.
ConvertToShape (Anchor)
Anchor: Un objeto Range que representa el texto al que está enlazada a la forma.
Dim shpConvertToShape As Shape
Set shpConvertToShape = ActiveDocument.Background.CanvasItems.BuildFreeform.ConvertToShape()