Partilhar via


Objeto de forma (Projeto)

Representa um objeto num relatório do Project, como um gráfico, uma tabela de relatório, uma caixa de texto, um desenho de forma livre ou uma imagem.

Comentários

O objeto Forma é um membro da coleção Formas , que inclui todas as formas no relatório.

Observação

A gravação de macros para o objeto Forma não está implementada. Ou seja, quando grava uma macro no Project e adiciona manualmente uma forma ou edita elementos da forma, os passos para adicionar e manipular a forma não são gravados.

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

Utilize Shapes(Index), em que Índice é o nome da forma ou o número do índice, para devolver um único objeto de Forma .

Exemplo

No exemplo seguinte, a macro TestTextShape cria uma forma de caixa de texto, adiciona algum texto e altera as propriedades estilo, preenchimento, linha, sombra e reflexo da forma. A macro FlipShape inverte a forma de cima para baixo.

Sub TestTextShape()
    Dim theReport As Report
    Dim textShape As Shape
    Dim reportName As String
    
    reportName = "Simple scalar chart"
    
    Set theReport = ActiveProject.Reports(reportName)
    Set textShape = theReport.Shapes.AddTextbox(msoTextOrientationHorizontal, 30, 30, 300, 100)
    textShape.Name = "TestTextBox"
    
    textShape.TextFrame2.TextRange.Characters.Text = "This is a test. It's only a test. " _
        & "If it had been real information, there would be some real text here."
    textShape.TextFrame2.TextRange.Characters(1, 15).ParagraphFormat.FirstLineIndent = 0
    
    ' Set the font for the first 15 characters to dark blue bold.
    With textShape.TextFrame2.TextRange.Characters(1, 15).Font
        .Fill.Visible = msoTrue
        .Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent5
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 14
        .Bold = msoTrue
    End With
    
    textShape.ShapeStyle = msoShapeStylePreset42
    
    With textShape.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 255, 0)
        .Transparency = 0
        '.Solid
    End With
   
    With textShape.Line
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorText1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
    End With

    textShape.Shadow.Type = msoShadow22
    textShape.Reflection.Type = msoReflectionType3
End Sub

Sub FlipShape()
    Dim theReport As Report
    Dim theShape As Shape
    Dim reportName As String
    Dim shapeName As String
    
    reportName = "Simple scalar chart"
    shapeName = "TestTextBox"
    
    Set theShape = ActiveProject.Reports(reportName).Shapes(shapeName)

    theShape.Flip msoFlipVertical
    theShape.Select
End Sub

A Figura 1 mostra o resultado, onde a forma está selecionada para disponibilizar o separador FORMATAR do friso em FERRAMENTAS DE DESENHO , embora o separador ativo seja ESTRUTURA em FERRAMENTAS DE RELATÓRIO. Se a forma não estivesse selecionada, as FERRAMENTAS DE DESENHO e o separador FORMATAR não estariam visíveis.

Figura 1. Testing the Shape object model

Testing the Shape object model

Métodos

Nome
Apply
Copy
Cut
Delete
Duplicate
Flip
IncrementLeft
IncrementRotation
IncrementTop
PickUp
RerouteConnections
ScaleHeight
ScaleWidth
Select
SetShapesDefaultProperties
Ungroup
ZOrder

Propriedades

Nome
Adjustments
AlternativeText
Application
AutoShapeType
BackgroundStyle
BlackWhiteMode
Callout
Chart
Child
ConnectionSiteCount
Connector
ConnectorFormat
Fill
Glow
GroupItems
HasChart
HasTable
Height
HorizontalFlip
ID
Left
Line
LockAspectRatio
Nome
Nodes
Responsável
ParentGroup
Reflection
Rotation
Shadow
ShapeStyle
SoftEdge
Table
TextEffect
TextFrame
TextFrame2
ThreeD
Título
Top
Type
VerticalFlip
Vertices
Visible
Width
ZOrderPosition

Confira também

Objeto de Gráficode Objetos de Relatório

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.