Hi @Lloydie J, I wrote this just now and it seems to work okay (Indesign 18.3 MacOS).
- Mark
/**
* Release All Anchored Objects.
* @discussion https://community.adobe.com/t5/indesign-discussions/release-all-anchored-objects-at-once/m-p/13797933#M527123
*/
function main() {
var doc = app.activeDocument,
items = doc.allPageItems,
counter = 0,
oversetCounter = 0;
for (var i = items.length - 1; i >= 0; i--) {
if (
items[i].parent.constructor.name == 'Character'
&& items[i].hasOwnProperty('anchoredObjectSettings')
) {
if (items[i].parent.parentTextFrames.length > 0) {
items[i].anchoredObjectSettings.anchoredPosition = AnchorPosition.ANCHORED;
items[i].anchoredObjectSettings.releaseAnchoredObject();
counter++;
}
else {
oversetCounter++
}
}
};
alert('Released ' + counter + ' anchored objects.' + (oversetCounter > 0 ? ' Skipped ' + oversetCounter + ' overset objects.' : ''));
};
app.doScript(main, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, 'Release All Anchored Objects');
Edit 2023-05-19: added check for overset text (thanks @Laubender!) and also a counter, because I like to know what happened when I run a script. 🙂