Show me the text in an ActiveX / OLE text control on a slide
Problem
You have text box controls (as opposed to normal PowerPoint text boxes) on a slide so that users can enter text during a presentation.
Works great.
But now you want to retrieve the text they entered.
How to retrieve text from an ActiveX / OLE text control
Function TextBoxControlText(oTextBox As Shape) As String
' Pass me a text box control
' I'll return the text in the text box
' See the Test subroutine below for a usage example
' safety precaution:
If oTextBox.Type = msoOLEControlObject Then
TextBoxControlText = oTextBox.OLEFormat.Object.Text
Else
TextBoxControlText = "This isn't a text control! It's a Type " _
& CStr(oTextBox.Type) & " shape."
End If
End Function
Sub Test()
' Assumes you've selected the text box control in edit mode
MsgBox TextBoxControlText(ActiveWindow.Selection.ShapeRange(1))
End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.