Objeto Shape (PowerPoint)

Representa un objeto de la capa de dibujo, como una autoforma, una forma libre, un objeto OLE o una imagen.

Observaciones

Nota:

Hay tres objetos que representan formas: la colección Shapes , que representa todas las formas de un documento; la colección ShapeRange , que representa un subconjunto especificado de las formas de un documento (por ejemplo, un objeto ShapeRange podría representar formas una y cuatro en el documento, o podría representar todas las formas seleccionadas en el documento); y el objeto Shape , que representa una sola forma en un documento. Si desea trabajar con varias formas al mismo tiempo o con formas dentro de la selección, use una colección ShapeRange.

Para obtener información general sobre cómo trabajar con una sola forma o con más de una forma a la vez, consulte Trabajar con formas (objetos de dibujo).

En los siguientes ejemplos se describe cómo:

  • Devolver la forma de una diapositiva, indizada por nombre o por número.

  • Devolver la forma que se acaba de crear en una diapositiva.

  • Devolver la forma de una selección.

  • Devolver el título de la diapositiva y otros marcadores de posición en una diapositiva.

  • Devolver las formas unidas a los puntos finales de un conector.

  • Devolver la forma predeterminada de una presentación.

  • Devolver una forma libre creada recientemente.

  • Devolver una forma de un grupo.

  • Devolver un grupo de formas creado recientemente.

Ejemplo

Use Shapes (index), donde index es el nombre de la forma o el número de índice, para devolver un objeto Shape que representa una forma en una diapositiva. El siguiente ejemplo voltea horizontalmente la forma uno y la forma denominada Rectangle 1 en myDocument.

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes(1).Flip msoFlipHorizontal

myDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal

Cada forma lleva asignado un nombre predeterminado cuando se agrega a la colección Shapes. Para dar a la forma un nombre más significativo, use la propiedad Name. En el ejemplo siguiente se agrega un rectángulo a myDocument, se le asigna el nombre Cuadrado rojo y, a continuación, se establece su color de primer plano y su estilo de línea.

Set myDocument = ActivePresentation.Slides(1)

With myDocument.Shapes.AddShape(Type:=msoShapeRectangle, _

        Top:=144, Left:=144, Width:=72, Height:=72)

    .Name = "Red Square"

    .Fill.ForeColor.RGB = RGB(255, 0, 0)

    .Line.DashStyle = msoLineDashDot

End With

Para agregar una forma a una diapositiva y devolver un objeto Shape que representa la forma recién creada, use uno de los métodos siguientes de la colección Shapes : Add3DModel, AddCallout, AddConnector, AddCurve, AddLabel, AddLine, AddMediaObject, AddOLEObject, AddPicture, AddPlaceholder, AddPolyline, AddShape, AddTable, AddTextbox, AddTextEffect, AddTitle.

Use Selection.ShapeRange (index), donde index es el nombre de la forma o el número de índice, para devolver un objeto Shape que representa una forma dentro de la selección. El siguiente ejemplo configura el relleno para la primera forma de la selección en la ventana activa, asumiendo que hay al menos una forma en la selección.

ActiveWindow.Selection.ShapeRange(1).Fill _

    .ForeColor.RGB = RGB(255, 0, 0)

Use Shapes.Title para devolver un objeto Shape que represente un título de diapositiva existente. Use Shapes.AddTitle para agregar un título a una diapositiva que no tiene ninguno y devolver un objeto Shape que represente el título que se acaba de crear. Use Shapes.Placeholders (index), donde index es el número de índice del marcador de posición, para devolver un objeto Shape que representa un marcador de posición. Si no ha cambiado el orden de las capas de las formas en una diapositiva, las tres afirmaciones siguientes son equivalentes, suponiendo que la diapositiva uno tiene un título.

ActivePresentation.Slides(1).Shapes.Title _

    .TextFrame.TextRange.Font.Italic = True

ActivePresentation.Slides(1).Shapes.Placeholders(1) _

    .TextFrame.TextRange.Font.Italic = True

ActivePresentation.Slides(1).Shapes(1).TextFrame _

    .TextRange.Font.Italic = True

Para devolver un objeto Shape que representa una de las formas adjuntas por un conector, use la propiedad BeginConnectedShape o EndConnectedShape .

Para devolver un objeto Shape que representa la forma predeterminada de una presentación, use la propiedad DefaultShape .

Use los métodos BuildFreeform y AddNodes para definir la geometría de una nueva forma libre y use el método ConvertToShape para crear la forma libre y devolver el objeto Shape que lo representa.

Use GroupItems (index), donde index es el nombre de la forma o el número de índice dentro del grupo, para devolver un objeto Shape que representa una sola forma en una forma agrupada.

Utilice el método Group o Regroup para agrupar un intervalo de formas y devolver un único objeto Shape que represente al grupo recién formado. Una vez creado un grupo, puede trabajar con el grupo de la misma manera que con cualquier otra forma.

Métodos

Propiedades

Vea también

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.