In that case, you would need something like:
Dim i As Long, j As Long
With ActiveDocument
  For i = .Shapes.Count To 1 Step -1
    With .Shapes(i)
      If .TextFrame.HasText Then
        MsgBox .TextFrame.TextRange.Text
      ElseIf .Type = msoGroup Then
        For j = .GroupItems.Count To 1 Step -1
          If .GroupItems(j).TextFrame.HasText Then
            MsgBox .TextFrame.TextRange.Text
          End If
        Next
      End If
    End With
  Next
End With
Note: I've run the loops backwards and used indices to allow for the possibility that one might want to extract the content then delete the shapes.