Classe FreeformBuilder - géométrie d'une forme libre en cours de création (Excel VBA)

La classe FreeformBuilder représente la géométrie d'une forme libre en cours de création. Pour utiliser une variable de classe FreeformBuilder, elle doit d'abord être instanciée, par exemple


Dim fbr as FreeformBuilder
Set fbr = Application.ActiveChart.Shapes

AddNodes

Ajoute un point à la forme actuelle, puis dessine une ligne à partir du nœud actuel vers le dernier nœud qui a été ajouté.

MsoEditingType ne peut pas être msoEditingSmooth ou msoEditingSymmetric. Si l'argument SegmentType est msoSegmentLine, EditingType doit être msoEditingAuto.

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

Les arguments nommés :

SegmentType (Office.MsoSegmentType) - Type de segment à ajouter.

EditingType (Office.MsoEditingType) - Indique le type de modification prévu pour le sommet.

X1 (Single) - Si le paramètre EditingType du nouveau segment est msoEditingAuto, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le point de terminaison du nouveau segment. Si le paramètre EditingType du nouveau nœud est msoEditingCorner, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le premier point de contrôle du nouveau segment.

Y1 (Single) - Si le paramètre EditingType du nouveau segment est msoEditingAuto, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le point de terminaison du nouveau segment. Si le paramètre EditingType du nouveau nœud est msoEditingCorner, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le premier point de contrôle du nouveau segment.

Optional arguments

Les arguments suivants sont facultatifs

X2 (Long) - Si le paramètre EditingType du nouveau segment est msoEditingCorner, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le deuxième point de contrôle du nouveau segment. Si l'argument EditingType du nouveau segment a la valeur msoEditingAuto, ne spécifiez pas de valeur pour cet argument.

Y2 (Long) - Si le paramètre EditingType du nouveau segment est msoEditingCorner, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le deuxième point de contrôle du nouveau segment. Si l'argument EditingType du nouveau segment a la valeur msoEditingAuto, ne spécifiez pas de valeur pour cet argument.

X3 (Long) - Si le paramètre EditingType du nouveau segment est msoEditingCorner, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le deuxième point de contrôle du nouveau segment. Si l'argument EditingType du nouveau segment a la valeur msoEditingAuto, ne spécifiez pas de valeur pour cet argument.

Y3 (Long) - Si le paramètre EditingType du nouveau segment est msoEditingCorner, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le deuxième point de contrôle du nouveau segment. Si l'argument EditingType du nouveau segment a la valeur msoEditingAuto, ne spécifiez pas de valeur pour cet argument.

ConvertToShape

Crée une forme qui possède les caractéristiques géométriques de l'objet FreeformBuilder spécifié. Renvoie un objet Shape qui représente la nouvelle forme.

Vous devez appliquer la méthode AddNodes à un objet FreeformBuilder au moins une fois avant d'utiliser la méthode ConvertToShape.


Dim shpConvertToShape As Shape
Set shpConvertToShape = ActiveChart.Shapes.BuildFreeform.ConvertToShape()