can a macro be written to save off all solids in a catpart file as separate step files ?

can a macro be written to save off all solids in a catpart file
as separate step files ? we get files that might have 100 solid models inside the catpart file
and I would like to split it up into multiple step files with the same step names
as labelled in the catpart