看起来应该很简单,但是当然让我大吃一惊。

我正在表单上使用Adobe InDesign CS3,并且当满足某些条件时,我在脚本标签面板中将文本框标记为“ RUSH”(标签面板中没有引号)。我想做非印刷品。到目前为止,它看起来像这样:

document.textFrames.item("RUSH").nonprinting = false;


但是无论何时执行该脚本,我都会收到错误45“对象无效”

我是inDesign脚本的新手,我整天都在寻找示例或答案,但到目前为止没有任何结果。有什么想法吗?我是做过还是想念超级笨蛋?

更新:总结以下答案,我所缺少的是.itemByName

现在,该代码可按以下行的预期功能运行:

document.textFrames.itemByName("RUSH").nonprinting = false;


在“脚本标签”面板中标记框架。

感谢大家的帮助!

最佳答案

因此,在this thread on the Adobe forum中,张贴者说:“使用CS4及以下版本中的“脚本标签”面板,但使用CS5及以上版本中的“图层”面板。”

在CS6上,我可以通过在“图层面板”中将其命名为“ RUSH”并运行以下代码来使该文本框不打印。

var rush = doc.textFrames.itemByName("RUSH");
rush.nonprinting = false;

07-24 18:24