Objeto Shape (Project)
Representa um objeto em um 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 Shape é um membro da coleção Shapes , que inclui todas as formas do relatório.
Observação
A gravação de macro para o objeto Shape não é implementada. Ou seja, quando você grava uma macro no Project e adiciona manualmente uma forma ou edita elementos de forma, as etapas para adicionar e manipular a forma não são registradas.
Há três objetos que representam formas: a coleção Shapes , que representa todas as formas em um documento; o objeto 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.
Use Shapes(Index)
, em que Index é o nome da forma ou o número do índice, para retornar um único objeto Shape .
Exemplo
No exemplo a seguir, a macro TestTextShape cria uma forma de caixa de texto, adiciona alguns textos e altera as propriedades de estilo, preenchimento, linha, sombra e reflexão de 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, em que a forma é selecionada para disponibilizar a guia FORMATO da faixa de opções em FERRAMENTAS DE DESENHO , embora a guia ativa seja DESIGN em FERRAMENTAS DE RELATÓRIO. Se a forma não estivesse selecionada, AS FERRAMENTAS DE DESENHO e a guia FORMAT não estariam visíveis.
Figura 1. 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
Confira também
Objeto Gráficode Objeto 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.