Ich komme dabei noch an die Shapes-Auflistung, kann mir also per showmessage noch ws.Shapes.Count ausgeben lassen, an die Shapes komme ich dann aber schon nicht dran:
ws.Shapes[i] gibt einen ungültiges Argument Fehler
ws.Shapes.Item[i] gibt ein "mitglied wurde nicht gefunden" Fehler.
Nimm mal Range statt Item. Dann kommst Du an den Namen und an die Werte Top und Left. Mit Textframe.Characters.Text kommst Du an den Inhalt des Textfeldes.