我正在尝试将标签应用于文档中的所有EPS文件。 我的代码:
#target indesign
var allItems=app.activeDocument.pageItems.everyItem().getElements().slice(0);
for(var i=0;i<allItems.length;i++)
{
var allInnerItems = allItems[i].allPageItems;
for(var j=0;j<allInnerItems.length;i++)
{
(allInnerItems[j].toString() == "[object EPS]") ?
allInnerItems[j].parent.autoTag() : alert('false');
}
}
代码查找所有EPS并应用于其Rectangle对象AutoTag方法。但我得到了错误:“对象或父级故事已被标记或无法进行评分”。此外,如果我选择一些带有EPS的矩形对象并在用户界面中单击“AutoTag”功能,它将起作用。 也许有人知道,我该怎么办?
提前致谢!
答案 0 :(得分:0)
我认为这应该适用于你想要做的事情。
在内部循环中,您忘记将i++
更改为j++
。
此外,您不必获取要对其进行测试的对象的字符串值(即。.toString() == "[object EPS]"
),您只需要求constructor
。
最后,如果您不希望已标记的元素出现更多错误,可以在if
语句中添加一个条件,以测试pageItem
是否有{{1}在尝试associatedXMLElement
之前。
autoTag()