使用Applescript

时间:2016-02-03 15:23:37

标签: applescript adobe-indesign

我将400多个文档转换为新的布局格式。

我试图删除字符样式并删除它的格式。 (AKA, delete a character style with the checkbox checked)。

这是我的代码:

delete character style "Exhibit Number" of character style group "Exhibit Styles" 
replacing with character style "[None]"

它可以删除字符样式,但它不会删除格式。在黑暗中随机插入,例如附加没有格式化没有保留格式没有覆盖添加"保留格式& #34; = false 会触发错误。

有没有办法通过脚本执行此操作? (我可以通过将首选项设置为不保留替换或其中的某些变体来使用属性{无} 吗?)

2 个答案:

答案 0 :(得分:1)

“[无]”不是每个人说的字符样式。它更像是风格破坏者的一个环节。因此,任何覆盖都不会被删除。解决方案是基于[无]创建一个虚拟的“无”字符样式,然后最终变为[无]字符样式。

在JavaScript中,这将是:

//Removing overrides
text.clearOverrides();
//Setting to dummy None
text.appliedCharacterStyle = app.activeDocument.characterStyles.item("My Dummy Sans");
//Now breaking link to a character style i.e. applying "[None]";
text.appliedCharacterStyle = app.activeDocument.characterStyles[0];

答案 1 :(得分:1)

正如Loic指出的那样,问题源于期望[无]表现为正常风格。

以下Applescript解决了这个问题:

try
    set charstyle to make character style with properties {name:"TempCharStyle"}
    delete character style "Exhibit Number" of character style group "Exhibit Styles" replacing with character style "TempCharStyle"
    delete character style "TempCharStyle"
end try