Поделиться через


Объект Shapes (Проект)

Представляет коллекцию объектов Shape в пользовательском отчете.

Пример

Используйте свойство Report.Shapes , чтобы получить объект коллекции Shapes . В следующем примере отчет должен быть активным представлением, чтобы получить коллекцию Shapes . В противном случае вы получите ошибку времени выполнения 424 (требуется объект) в инструкции For Each oShape In oReport.Shapes .

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

Методы

Имя
AddCallout
AddChart
AddConnector
AddCurve
AddLabel
AddLine
AddPolyline
AddShape
AddTable
AddTextbox
AddTextEffect
BuildFreeform
Item
Range
SelectAll

Свойства

Имя
Background
Count
Default
Parent
Значение

См. также

Объект shapeRange Объектаотчета фигуры

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.