Objeto Shape (PowerPoint)

Representa um objeto na camada de desenho, como uma AutoForma, uma forma livre, um objeto OLE ou uma figura.

Comentários

Observação

Há três objetos que representam formas: a coleção Shapes , que representa todas as formas em um documento; a coleção ShapeRange , que representa um subconjunto especificado das formas em um documento (por exemplo, um objeto ShapeRange pode representar formas um e quatro no documento, ou pode representar todas as formas selecionadas no documento); e o objeto Shape , que representa uma única forma em um documento. Se você deseja trabalhar com várias formas ao mesmo tempo ou com formas dentro da seleção, use uma coleção ShapeRange.

Para obter uma visão geral de como trabalhar com uma única forma ou com mais de uma forma por vez, consulte Trabalhar com formas (objetos de desenho).

Os exemplos a seguir descrevem como:

  • Retornar uma forma existente em um slide, indexada por nome ou número.

  • Retornar uma forma recém-criada em um slide.

  • Retornar uma forma dentro da seleção.

  • Retornar o título de slide e outros espaços reservados em um slide.

  • Retornar as formas anexadas às bordas de um conector.

  • Retornar a forma padrão de uma apresentação.

  • Retornar uma forma livre recém-criada.

  • Retornar uma única forma de dentro de um grupo.

  • Retornar um grupo recém-criado de formas.

Exemplo

Use Shapes (index), em que index é o nome da forma ou o número do índice, para retornar um objeto Shape que representa uma forma em um slide. O exemplo a seguir inverte horizontalmente a forma um e a forma chamada Rectangle 1 em myDocument.

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes(1).Flip msoFlipHorizontal

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

A cada forma é atribuído um nome padrão quando você adiciona a coleção Shapes. Para dar à forma um nome mais significativo, use a propriedade Name. O exemplo a seguir adiciona um retângulo ao myDocument, dá-lhe o nome Red Square e, em seguida, define sua cor de primeiro plano e estilo de linha.

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 adicionar uma forma a um slide e retornar um objeto Shape que representa a forma recém-criada, use um dos seguintes métodos da coleção Shapes: Add3DModel, AddCallout, AddConnector, AddCurve, AddLabel, AddLine, AddMediaObject, AddOLEObject, AddPicture, AddPlaceholder, AddPolyline, AddShape, AddTable, AddTextbox, AddTextEffect, AddTitle.

Use Selection.ShapeRange (index), em que o índice é o nome da forma ou o número do índice, para retornar um objeto Shape que representa uma forma dentro da seleção. O exemplo a seguir define o preenchimento para a primeira forma da seleção na janela ativa, supondo que haja pelo menos uma forma na seleção.

ActiveWindow.Selection.ShapeRange(1).Fill _

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

Use Shapes.Title para retornar um objeto Shape que representa o título de um slide existente. Use Shapes.AddTitle para adicionar um título a um slide que ainda não tem um título e retornar um objeto Shape que representa o título recém-criado. Use Shapes.Placeholders (index), onde o índice é o número de índice do espaço reservado, para retornar um objeto Shape que representa um espaço reservado. Se você não tiver alterado a ordem de disposição em camadas das formas em um slide, as três instruções seguintes serão equivalentes, supondo-se que o slide um tenha um 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 retornar um objeto Shape que representa uma das formas anexadas por um conector, use a propriedade BeginConnectedShape ou EndConnectedShape .

Para retornar um objeto Shape que representa a forma padrão para uma apresentação, use a propriedade DefaultShape .

Use os métodos BuildFreeform e AddNodes para definir a geometria de uma nova forma livre e use o método ConvertToShape para criar o formulário livre e retornar o objeto Shape que o representa.

Use GroupItems (index), em que o índice é o nome da forma ou o número de índice dentro do grupo, para retornar um objeto Shape que representa uma única forma em uma forma agrupada.

Use o método Group ou Regroup para agrupar um intervalo de formas e retornar um único objeto Shape que representa o grupo recém-formado. Após um grupo ter sido formado, você pode trabalhar com o grupo da mesma maneira que você trabalha com qualquer outra forma.

Métodos

Propriedades

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.