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


Метод Shapes.AddCallout (Project)

Создает выноску строки без границ в отчете. Возвращает объект Shape , представляющий новую выноску.

Синтаксис

выражение. AddCallout (Type,Left,Top,Width,Height)

выражение: переменная, представляющая объект Shapes.

Параметры

Имя Обязательный или необязательный Тип данных Описание
Тип Обязательный MsoCalloutType Тип выноски.
Left Обязательный Single Положение в точках левого края ограничивающего прямоугольника для выноски.
Top Обязательный Single Позиция в точках верхнего края ограничивающего прямоугольника для выноски.
Width Обязательный Single Ширина ограничивающего прямоугольника для выноски (в точках).
Height Обязательный Single Высота ограничивающего прямоугольника для выноски (в пунктах).
Тип Обязательный MSOCALLOUTTYPE
Left Обязательный FLOAT
Top Обязательный FLOAT
Width Обязательный FLOAT
Height Обязательный FLOAT

Возвращаемое значение

Shape

Замечания

Параметр Type может быть одной из следующих констант MsoCalloutType :

msoCalloutOne: односементная линия выноски, которая может быть горизонтальной или вертикальной.
msoCalloutTwo: односегментная линия выноски, которая свободно вращается.
msoCalloutMixed: возвращаемое значение, указывающее сочетание других состояний.
msoCalloutThree: двухсегментная линия, в которой концы сегмента можно перетащить в разные позиции.
msoCalloutFour: линия из трех сегментов.

С помощью метода AddShape можно вставить более разнообразные выноски, такие как выноски и облака.

Пример

В следующем примере добавляется выноска с двухсементной линией выноски, задается угол конечного сегмента в 60 градусов от вертикали и добавляется текст в выноску.

Sub AddCallout()
    Dim oReports As Reports
    Dim oReport As Report
    Dim calloutShape As shape
    Dim reportName As String
    
    reportName = "Report 1"
    Set oReports = ActiveProject.Reports

    If oReports.IsPresent(reportName) Then
        ' Make the report the active view.
        oReports(reportName).Apply
        
        Set oReport = oReports(reportName)
        
        Set calloutShape = oReport.Shapes.AddCallout(Type:=msoCalloutTwo, _
                                        left:=200, top:=5, width:=100, height:=50)
        With calloutShape
            .Callout.Type = msoCalloutThree
            .Callout.Angle = msoCalloutAngle60
            .BackgroundStyle = msoBackgroundStylePreset10
            .TextFrame2.TextRange.Text = "This is a test"
        End With
    Else
         MsgBox Prompt:="The requested report, '" & reportName _
            & "', does not exist.", Title:="Report error"
    End If
End Sub

См. также

Метод AddShapeобъекта фигуры объекта Shapes

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

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