Objeto Shape (Publisher)
Representa um objeto na camada de desenho, como uma AutoForma, uma forma livre, objeto OLE, controle ActiveX ou imagem. O objeto Shape é membro da coleção Shapes, que inclui todas as formas em uma página ou em uma seleção.
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).
- 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.
Use Shapes (index), em que index é o nome ou o número do índice, para retornar um único objeto Shape .
Cada forma recebe um nome padrão quando é criada. Por exemplo, se você adicionar três formas diferentes a um documento, elas podem ser chamadas "Rectangle 2", "TextBox 3" e "Oval 4". Para dar a uma forma um nome mais significativo, defina a propriedade Name da forma.
Use Selection.ShapeRange (índice), em que o índice é o nome ou o número do índice, para retornar um objeto Shape que representa uma forma dentro de uma seleção.
Para adicionar um objeto Shape à coleção de formas do documento especificado e retornar um objeto Shape que representa a forma recém-criada, use um dos seguintes métodos da coleção Shapes :
- AddCallout
- AddConnector
- AddCurve
- AddLabel
- AddLine
- AddOLEObject
- AddPolyline
- AddShape
- Addtextbox
- AddTextEffect
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 ShapeRange.Group ou Regroup para agrupar um intervalo de formas e retornar um único objeto Shape que representa o grupo recém-formado. Depois que um grupo for formado, você pode trabalhar com o grupo da mesma forma que trabalha com qualquer outra forma.
Use a propriedade AutoShapeType para especificar o tipo de AutoShape: oval, retângulo ou balão, por exemplo.
Use a propriedade Callout , que retorna o objeto CalloutFormat , para formatar callouts de linha.
Use a propriedade Fill para retornar o objeto FillFormat, que contém todas as propriedades e métodos para formatar o preenchimento de uma forma fechada.
Use a propriedade da linha para retornar um objeto LineFormat que contém propriedades e métodos para formatação de linhas e setas.
Use os métodos PickUp e Apply para transferir a formatação de uma forma para outra.
Use o método SetShapesDefaultProperties para definir a formatação para a forma padrão do documento. As novas formas herdam muitos dos atributos da forma padrão.
Use a propriedade Shadow , que retorna o objeto ShadowFormat , para formatar uma sombra.
Use a propriedade TextEffect , que retorna o objeto TextEffectFormat , para formatar o WordArt.
Use as propriedades TextFrame e Cell.TextRange para retornar os objetos TextFrame e TextRange , respectivamente, que contêm todas as propriedades e métodos para inserir e formatar texto em formas e publicações e associar os quadros de texto.
Use a propriedade TextWrap , que retorna o objeto WrapFormat , para definir como o texto envolve formas.
Use a propriedade ThreeD , que retorna o objeto ThreeDFormat , para criar formas 3D.
Use a propriedade Type para especificar o tipo de forma: freeform, AutoShape, objeto OLE, chamada ou imagem vinculada, por exemplo.
Use as propriedades Width e Height para especificar o tamanho da forma.
O exemplo a seguir inverte horizontalmente a forma um do documento ativo.
Sub FlipShape()
ActiveDocument.Pages(1).Shapes(1).Flip FlipCmd:=msoFlipHorizontal
End Sub
O exemplo a seguir inverte horizontalmente a forma chamada Retângulo 1 no documento ativo.
Sub FlipShapeByName()
ActiveDocument.Pages(1).Shapes("Rectangle 1") _
.Flip FlipCmd:=msoFlipHorizontal
End Sub
O exemplo a seguir define o preenchimento da primeira forma na seleção, pressupondo-se de que a seleção contenha pelo menos uma forma.
Sub FillSelectedShape()
Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
End Sub
O exemplo a seguir define o preenchimento de todas as formas da seleção, supondo que a seleção contenha pelo menos uma forma.
Sub FillAllSelectedShapes()
Dim shpShape As Shape
For Each
shpShape In Selection.ShapeRange
shpShape.Fill.ForeColor.RGB = RGB(Red:=255, Green:=0, Blue:=0)
Next shpShape
End Sub
O exemplo a seguir adiciona um retângulo ao documento ativo.
Sub AddNewShape()
ActiveDocument.Pages(1).Shapes.AddShape Type:=msoShapeRectangle, _
Left:=400, Top:=72, Width:=100, Height:=200
End Sub
Este exemplo adiciona três formas à publicação ativa, agrupa as formas e define a cor de preenchimento para cada uma das formas do grupo.
Sub WorkWithGroupShapes()
With ActiveDocument.Pages(1).Shapes
.AddShape Type:=msoShapeIsoscelesTriangle, Left:=100, _
Top:=72, Width:=100, Height:=100
.AddShape Type:=msoShapeIsoscelesTriangle, Left:=250, _
Top:=72, Width:=100, Height:=100
.AddShape Type:=msoShapeIsoscelesTriangle, Left:=400, _
Top:=72, Width:=100, Height:=100
.SelectAll
With Selection.ShapeRange
.Group
.GroupItems(1).Fill.ForeColor _
.RGB = RGB(Red:=255, Green:=0, Blue:=0)
.GroupItems(2).Fill.ForeColor _
.RGB = RGB(Red:=0, Green:=255, Blue:=0)
.GroupItems(3).Fill.ForeColor _
.RGB = RGB(Red:=0, Green:=0, Blue:=255)
End With
End With
End Sub
O exemplo a seguir adiciona uma caixa de texto à primeira página da publicação ativa e, em seguida, adiciona texto a ela e formata o texto.
Sub CreateNewTextBox()
With ActiveDocument.Pages(1).Shapes.AddTextbox( _
Orientation:=pbTextOrientationHorizontal, Left:=100, _
Top:=100, Width:=200, Height:=100).TextFrame.TextRange
.Text = "This is a textbox."
With .Font
.Name = "Stencil"
.Bold = msoTrue
.Size = 30
End With
End With
End Sub
- AddToCatalogMergeArea
- Aplicar
- Copy
- Cut
- Delete
- Duplicate
- Flip
- GetHeight
- GetLeft
- GetTop
- GetWidth
- IncrementLeft
- IncrementRotation
- IncrementTop
- MoveIntoTextFlow
- MoveOutOfTextFlow
- MoveToPage
- PickUp
- RemoveCatalogMergeArea
- RemoveFromCatalogMergeArea
- RerouteConnections
- SaveAsBuildingBlock
- SaveAsPicture
- ScaleHeight
- ScaleWidth
- Select
- SetCaption
- SetShapesDefaultProperties
- Ungroup
- ZOrder
- Adjustments
- AlternativeText
- Application
- AutoShapeType
- BlackWhiteMode
- BorderArt
- Callout
- CatalogMergeItems
- ConnectionSiteCount
- Connector
- ConnectorFormat
- Fill
- Glow
- GroupItems
- HasTable
- HasTextFrame
- Height
- HorizontalFlip
- Hyperlink
- ID
- InlineAlignment
- InlineTextRange
- IsExcess
- IsGroupMember
- IsInline
- Left
- Line
- LinkFormat
- LockAspectRatio
- Nome
- Nodes
- OLEFormat
- Responsável
- ParentGroupShape
- PictureFormat
- Reflection
- Rotation
- Shadow
- SoftEdge
- Table
- Marcas
- TextEffect
- TextFrame
- TextWrap
- ThreeD
- Top
- Type
- VerticalFlip
- Vertices
- WebCheckBox
- WebCommandButton
- WebListBox
- WebNavigationBarSetName
- WebOptionButton
- WebTextBox
- Width
- Assistente
- WizardTag
- WizardTagInstance
- ZOrderPosition
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.