【问题标题】:Clearing character style overrides when deleting styles in Indesign using Applescript使用 Applescript 在 Indesign 中删除样式时清除字符样式覆盖
【发布时间】:2016-05-12 21:09:40
【问题描述】:

我正在将 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]"

它可以删除字符样式,但不会删除格式。在黑暗中随机插入,例如附加不带格式不带保留格式不带覆盖带有“保留格式”= false 触发错误。

有没有办法通过脚本做到这一点? (我可以通过设置不保留覆盖或其中的某些变体的首选项来使用属性{无}吗?)

【问题讨论】:

    标签: applescript adobe-indesign


    【解决方案1】:

    "[None]" 不是一种字符样式。它更像是样式破坏者的链接。因此,不会删除任何覆盖。一种解决方案是基于 [None] 创建一个虚拟的“None”字符样式,然后最终转换为 [None] 字符样式。

    在 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];
    

    【讨论】:

    • 我使用 Applescript 实现了这个版本,并解决了这个问题。我不知道 [None] 的行为不像正常样式。
    【解决方案2】:

    正如Loic 指出的那样,问题源于期望 [None] 表现得像正常样式。

    以下 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-14
      • 2016-03-12
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 1970-01-01
      相关资源
      最近更新 更多