Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Representa un objeto de un informe de Project, como un gráfico, una tabla de informes, un cuadro de texto, un dibujo de forma libre o una imagen.
Comentarios
El objeto Forma es miembro de la colección Formas , que incluye todas las formas del informe.
Nota:
No se ha implementado la grabación de macros para el objeto Shape . Es decir, al grabar una macro en Project y agregar manualmente una forma o editar elementos de forma, no se registran los pasos para agregar y manipular la forma.
Hay tres objetos que representan formas: la colección Formas , que representa todas las formas de un documento; el objeto ShapeRange , que representa un subconjunto especificado de las formas de un documento (por ejemplo, un objeto ShapeRange podría representar las formas uno y cuatro del documento, o podría representar todas las formas seleccionadas en el documento); y el objeto Shape , que representa una sola forma de un documento. Si desea trabajar con varias formas al mismo tiempo o con formas dentro de la selección, use una colección ShapeRange.
Use Shapes(Index), donde Index es el nombre de la forma o el número de índice, para devolver un solo objeto Shape .
Ejemplo
En el ejemplo siguiente, la macro TestTextShape crea una forma de cuadro de texto, agrega texto y cambia las propiedades de estilo de forma, relleno, línea, sombra y reflexión. La macro FlipShape voltea la forma de arriba a abajo.
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
En la figura 1 se muestra el resultado, donde se selecciona la forma para que la pestaña FORMATO de la cinta de opciones en HERRAMIENTAS DE DIBUJO esté disponible, aunque la pestaña activa sea DISEÑO en HERRAMIENTAS DE INFORME. Si la forma no estaba seleccionada, las HERRAMIENTAS DE DIBUJO y la pestaña FORMATO no serían visibles.
Figura 1. Comprobación del modelo del objeto Shape
Métodos
| Nombre |
|---|
| Apply |
| Copy |
| Cut |
| Delete |
| Duplicate |
| Flip |
| IncrementLeft |
| IncrementRotation |
| IncrementTop |
| PickUp |
| RerouteConnections |
| ScaleHeight |
| ScaleWidth |
| Select |
| SetShapesDefaultProperties |
| Ungroup |
| ZOrder |
Propiedades
Vea también
Objeto de informe GráficoObjeto
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.