Share via


Shape.HasTextFrame Property

Returns whether the specified shape has a text frame. Read-only.

Namespace:  Microsoft.Office.Interop.PowerPoint
Assembly:  Microsoft.Office.Interop.PowerPoint (in Microsoft.Office.Interop.PowerPoint.dll)

Syntax

'Declaration
ReadOnly Property HasTextFrame As MsoTriState
    Get
'Usage
Dim instance As Shape
Dim value As MsoTriState

value = instance.HasTextFrame
MsoTriState HasTextFrame { get; }

Property Value

Type: Microsoft.Office.Core.MsoTriState
MsoTriState

Remarks

The value of the HasTextFrame property can be one of these MsoTriState constants.

Constant

Description

msoFalse

The specified shape does not have a text frame and therefore cannot contain text.

msoTrue

The specified shape has a text frame and can therefore contain text.

Examples

This example extracts text from all shapes on the first slide that contain text frames, and then it stores the names of these shapes and the text they contain in an array.

Dim shpTextArray() As Variant

Dim numShapes, numAutoShapes, i As Long



Set myDocument = ActivePresentation.Slides(1)

With myDocument.Shapes

    numShapes = .Count

    If numShapes > 1 Then

    numTextShapes = 0

        ReDim shpTextArray(1 To 2, 1 To numShapes)

        For i = 1 To numShapes

            If .Item(i).HasTextFrameThen

                numTextShapes = numTextShapes + 1

                shpTextArray(numTextShapes, 1) = .Item(i).Name

                shpTextArray(numTextShapes, 2) = .Item(i) _

                    .TextFrame.TextRange.Text

            End If

        Next

        ReDim Preserve shpTextArray(1 To 2, 1 To numTextShapes)

    End If

End With

See Also

Reference

Shape Interface

Shape Members

Microsoft.Office.Interop.PowerPoint Namespace