Table of contents
TOC
Collapse the table of content
Expand the table of content

Shapes Object (Project)

office 365 dev account|Last Updated: 6/12/2017
|
1 Contributor

Represents a collection of Shape objects in a custom report.

Example

Use the Report.Shapes property to get the Shapes collection object. In the following example, the report must be the active view to get the Shapes collection; otherwise, you get a run-time error 424 (Object required) in the For Each oShape In oReport.Shapes statement.

Sub ListShapesInReport()
    Dim oReports As Reports
    Dim oReport As Report
    Dim oShape As shape
    Dim reportName As String
    Dim msg As String
    Dim msgBoxTitle As String
    Dim numShapes As Integer

    numShapes = 0
    msg = ""
    reportName = "Table Tests"
    Set oReports = ActiveProject.Reports

    If oReports.IsPresent(reportName) Then
        ' Make the report the active view.
        oReports(reportName).Apply

        Set oReport = oReports(reportName)
        msgBoxTitle = "Shapes in report: '" & oReport.Name & "'"

        For Each oShape In oReport.Shapes
            numShapes = numShapes + 1
            msg = msg & numShapes & ". Shape type: " & CStr(oShape.Type) _
                & ", '" & oShape.Name & "'" & vbCrLf
        Next oShape

        If numShapes > 0 Then
            MsgBox Prompt:=msg, Title:=msgBoxTitle
        Else
            MsgBox Prompt:="This report contains no shapes.", _
                Title:=msgBoxTitle
        End If
    Else
         MsgBox Prompt:="The requested report, '" & reportName _
            & "', does not exist.", Title:="Report error"
    End If
End Sub

Methods

Name
AddCallout
AddChart
AddConnector
AddCurve
AddLabel
AddLine
AddPolyline
AddShape
AddTable
AddTextbox
AddTextEffect
BuildFreeform
Item
Range
SelectAll

Properties

Name
Background
Count
Default
Parent
Value

See also

Other resources

Shape ObjectReport ObjectShapeRange Object

© 2018 Microsoft