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

InDesign脚本导出故事失败,报Error 45对象无效错误

解决InDesign脚本的对象无效与导出问题

1. 修复直接触发错误的拼写问题

你代码第79行的appliedParagraphyStyle是拼写错误,正确写法是appliedParagraphStyle——这是错误编号45(对象无效)的直接原因,拼写错误导致脚本找不到对应的属性,触发报错。

2. 避免空故事/无段落的对象访问错误

即使修复拼写,仍可能因为空故事(比如空文本框)触发对象无效,需要在判断前增加有效性检查:

// 修改后的判断逻辑
if(myStory.paragraphs.length > 0 && myStory.paragraphs[0].appliedParagraphStyle.name === "Headline"){
    // 你的故事处理代码
}

同时,遍历故事时先过滤无效/空故事:

for(var i=0; i<app.activeDocument.stories.length; i++){
    var myStory = app.activeDocument.stories[i];
    // 跳过无效或空内容的故事
    if(!myStory.isValid || myStory.contents.trim() === "") continue;
    // 再执行段落样式判断
    if(myStory.paragraphs.length > 0 && myStory.paragraphs[0].appliedParagraphStyle.name === "Headline"){
        // 选中、导出等逻辑
    }
}

3. 解决保存与导出失败问题

  • 保存路径检查:确保脚本中指定的保存文件夹存在,若不存在可添加创建文件夹的代码,避免因路径无效导致保存失败。
  • 导出前验证对象:执行导出操作前,确认当前选中的故事myStory.isValid为true,避免导出无效对象。
  • 日志Undefined问题:检查日志输出的变量是否提前定义并赋值,比如要打印的变量是否在输出前已经正确获取,避免输出未定义的内容。

4. 额外注意事项

  • 确认文档中确实存在名为Headline的段落样式,大小写、空格要完全匹配;也可以改用段落样式的ID或索引来判断,避免名称匹配的误差。
  • 若脚本涉及跨文档操作,要确保目标文档处于激活状态,且对象引用正确。

内容的提问来源于stack exchange,提问作者Basilio Gonzalez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:36:23