Compartir por


Método Shapes.BuildFreeform (Project)

Crea un objeto FreeformBuilder que representa un nuevo dibujo de forma libre. El dibujo de forma libre se puede convertir en un objeto Shape .

Sintaxis

expresión. BuildFreeform (EditingType,X1,Y1)

expresión Variable que representa un objeto Shapes.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
EditingType Obligatorio MsoEditingType Propiedad de edición del primer nodo.
X1 Obligatorio Single Posición (en puntos) del primer nodo del dibujo de forma libre, en relación con el borde izquierdo del informe.
Y1 Obligatorio Single Posición (en puntos) del primer nodo del dibujo de forma libre, en relación con el borde superior del informe.
EditingType Obligatorio MSOEDITINGTYPE
X1 Obligatorio FLOAT
Y1 Obligatorio FLOAT
Nombre Obligatorio/opcional Tipo de datos Descripción

Valor devuelto

FreeformBuilder

Observaciones

Utilice el método AddNodes para agregar segmentos a la forma libre. Después de agregar al menos un segmento a la forma libre, puede usar el método ConvertToShape para convertir el objeto FreeformBuilder en un objeto Shape que tenga la descripción geométrica que ha definido.

Ejemplo

En el ejemplo siguiente se agrega una forma libre con cinco vértices al informe, se convierte la forma libre en una forma y, a continuación, se cambia el estilo de fondo de la forma.

Sub AddFreeform2()
    Dim shapeReport As Report
    Dim reportName As String
    Dim freeformBuild As FreeformBuilder
    Dim freeformShape As shape

    reportName = "Freeform2 report"
    Set shapeReport = ActiveProject.Reports.Add(reportName)
    
    Set freeformBuild = shapeReport.Shapes.BuildFreeform(msoEditingCorner, 360, 200)
    
    With freeformBuild
        .AddNodes msoSegmentCurve, msoEditingCorner, 380, 230, 400, 450, 300
        .AddNodes msoSegmentCurve, msoEditingAuto, 480, 200
        .AddNodes msoSegmentLine, msoEditingAuto, 480, 400
        .AddNodes msoSegmentLine, msoEditingAuto, 360, 200
        .ConvertToShape
    End With
    
    Set freeformShape = shapeReport.Shapes(1)
    
    freeformShape.BackgroundStyle = msoBackgroundStylePreset10
End Sub

Vea también

Shapes (objeto deforma de objeto)

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.