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
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.