ShapeRange.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 ShapeRange
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