How many lines in the text box?
Problem
You're programmatically adding text to a text box but need to know when the text box gets over a predetermined size.
Knowing just the text you're plugging into the text box, it's hard to guess how many lines the text box will occupy.
This function will tell you:
Solution
Function LineCount(oSh As Shape) As Long
' return zero if no text, -1 if error
LineCount = 0
On Error GoTo ErrorHandler
With oSh
If .HasTextFrame Then
If .TextFrame.HasText Then
LineCount = .TextFrame.TextRange.Lines.Count
End If
End If
End With
NormalExit:
Exit Function
ErrorHandler:
LineCount = -1
Resume NormalExit
End Function
Sub TestLineCount()
' Use currently selected shape
Debug.Print LineCount(ActiveWindow.Selection.ShapeRange(1))
End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.
Search terms: