Objeto Shapes (Word)

Um conjunto de forma objetos que representam todas as formas em um documento ou todas as formas em todos os cabeçalhos e rodapés de um documento. Cada objeto Shape representa um objeto na camada de desenho, como uma AutoForma, uma forma livre, um objeto OLE ou uma figura.

Comentários

Se você deseja trabalhar com um subconjunto das formas em um documento — por exemplo, para fazer algo apenas com as AutoFormas do documento ou somente as formas selecionadas — você deve construir um ShapeRange coleção que contém as formas que você deseja trabalhar.

Use a formas propriedade retornar da coleção Shapes. O exemplo seguinte seleciona todas as formas do documento ativo.

ActiveDocument.Shapes.SelectAll

Observação

[!OBSERVAçãO] Se desejar fazer algo (como excluir ou definir uma propriedade) com todas as formas em um documento ao mesmo tempo, use o intervalo método para criar um objeto ShapeRange que contém todas as formas na coleção Shapes e aplique a propriedade apropriada ou método no objeto ShapeRange.

Use um dos seguintes métodos da coleção Shapes: Add3DModel, AddCallout, AddCurve, AddLabel, AddLine, AddOleControl, AddOleObject, AddPolyline, AddShape, AddTextbox, AddTextEffect ou BuildFreeForm para adicionar uma forma a um documento que retorne um objeto Shape que representa a forma recém-criada. O exemplo a seguir adiciona um retângulo ao documento ativo.

ActiveDocument.Shapes.AddShape msoShapeRectangle, 50, 50, 100, 200

Use Shapes (Index), onde Index é o nome ou número de índice, para retornar um único objeto Shape. O exemplo a seguir inverte horizontalmente a forma um do documento ativo.

ActiveDocument.Shapes(1).Flip msoFlipHorizontal

Este exemplo inverte horizontalmente a forma "Rectangle 1" no documento ativo.

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

Cada forma é atribuída um nome padrão quando ele é criado. Por exemplo, se você adicionar três formas diferentes a um documento, elas poderão ser chamadas de "Retângulo 2", "TextBox 3" e "Oval 4". Para dar a uma forma um nome mais significativo, defina a propriedade Name .

Coleção Shapes não inclui InlineShape objetos. Objetos InlineShape são tratados como caracteres e são posicionados como caracteres dentro de uma linha de texto. Objetos Shape ficam vinculados a um intervalo de texto, mas são livremente flutuantes e podem ser posicionados em qualquer lugar na página. Use o método ConvertToInlineShape e o método ConvertToShape para converter formas de um tipo para outro. Você pode converter somente figuras, objetos OLE e controles ActiveX para formas embutidas.

A propriedade Count dessa coleção em um documento retorna o número de itens no texto principal. Para contar formas em todos os cabeçalhos e rodapés, use a coleção Shapes com qualquer objeto HeaderFooter.

Métodos

Nome
AddCallout
AddCanvas
AddChart2
AddCurve
AddLabel
AddLine
AddOLEControl
AddOLEObject
AddPicture
AddPolyline
AddShape
AddSmartArt
AddTextbox
AddTextEffect
Add3DModel
AddWebVideo
BuildFreeform
Item
Range
SelectAll

Propriedades

Nome
Aplicativo
Count
Creator
Parent

Confira também

Referência do modelo de objeto do Word

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.