ShapeRange.HasTextFrame property (PowerPoint)

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


expression. HasTextFrame

expression A variable that represents a ShapeRange object.

Return value



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.


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).HasTextFrame Then
                numTextShapes = numTextShapes + 1
                shpTextArray(numTextShapes, 1) = .Item(i).Name
                shpTextArray(numTextShapes, 2) = .Item(i) _
            End If
        ReDim Preserve shpTextArray(1 To 2, 1 To numTextShapes)
    End If
End With

See also

ShapeRange Object

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.