You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Illustrator脚本实现关闭所有文档并提示保存的问题求解

Illustrator脚本批量处理文档并关闭的解决方案

问题原因

你当前的正向循环会导致索引错位:每关闭一个文档,app.documents的长度会动态减少,后续循环的索引会跳过未处理的文档,甚至触发索引越界报错。比如初始有3个文档,处理完第0个并关闭后,剩下的文档索引变为0和1,但循环i会走到1,此时访问的是原本的第2个文档,漏掉了原本的第1个。

修正后的代码

// 从最后一个文档开始倒序循环,避免索引错位问题
for (var i = app.documents.length - 1; i >= 0; i--) {
    var currentDoc = app.documents[i];
    currentDoc.activate();
    generateText(); // 执行你的文本生成函数
    // 直接调用当前文档的close方法,无需依赖activeDocument,更可靠
    currentDoc.close(SaveOptions.PROMPTTOSAVECHANGES);
}

关键改进点

  • 倒序循环:从最后一个文档开始处理,关闭文档不会影响未处理的文档索引,确保所有文档都能被遍历到。
  • 直接操作文档对象:用循环中获取的currentDoc调用close方法,比依赖app.activeDocument更稳定,避免激活操作的潜在冲突。

内容的提问来源于stack exchange,提问作者Zawyed Zeon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 02:45:31