Anchored objects
Release all anchored objects at once
var a = app.activeDocument.allPageItems, t;
while( t = a.pop() ) {
t.isValid &&
t.hasOwnProperty('anchoredObjectSettings') &&
(t.parent instanceof Character) &&
(t=t.anchoredObjectSettings).isValid &&
t.releaseAnchoredObject();
}
The same code but more understandable
var a = app.activeDocument.allPageItems, t;
while( t = a.pop() ) {
if (t.isValid) {
if (t.hasOwnProperty('anchoredObjectSettings')) {
if (t.parent instanceof Character) {
if ((t=t.anchoredObjectSettings).isValid) {
t.releaseAnchoredObject();
}
}
}
}
}
Free anchored texts — Frees & styles all anchored texts in a document, replacing anchors with the contained text by Matthew Bartlett
Before

After

var items = app.activeDocument.allPageItems, count = 0
if(confirm("Okay to attempt to free the contents of ~roughly~ " + items.length + " anchored text boxes, styling them as 'Reference'?")) {
while(item = items.pop()) {
if(item.isValid &&
item.hasOwnProperty('anchoredObjectSettings') &&
item.parent instanceof Character &&
item.hasOwnProperty('texts') &&
(t=item.anchoredObjectSettings).isValid) {
var contents = item.texts[0].contents + "\r"
var parent = item.parent
try {
parent.contents = contents
parent.appliedParagraphStyle = 'Reference'
count = count + 1
} catch (error) {
alert(error)
}
}
}
alert('Freed the contents of ' + count + ' anchored text boxes')
}
