Populate listbox with all shapes on ActivePage

I'm trying to have all shapes show in listbox and when I click on the shape in listbox the value show is a text box which I can update and commit the changes.  So I've read a little on Query but I'm not sure this is the best method or most efficient way.  

Public Sub GetShapes()

Dim s As Shape, sr As ShapeRange, p As Page

 

    For Each sr In ActivePage.Shapes.FindShapes(Query:="@type='text:artistic' or @type = 'text:paragraph'")

          frmMain.listShape.AddItem

    Next sr

 

End Sub