Adobe InDesign CS6" undefined不是对象"

时间:2014-04-03 14:34:03

标签: javascript adobe-indesign

我是InDesign脚本的新手,虽然我有使用Javascript的经验。 我创建了一个新的菜单项,您将在下面的脚本中看到,我打算用它来调用另一个脚本onclick。但是我遇到了一些问题,所以我决定删除菜单项并重新开始。但是在第10行,我收到了消息" undefined不是一个对象",我无法弄清楚它为什么会导致问题。

任何帮助将不胜感激。

//#targetengine "ImportFolder"

//var myMainMenu = app.menus.item("Main");
//var myCustomMenu = myMainMenu.submenus.item("Import Folder");
//var myCustomMenu = myMainMenu.submenus.add("Import Folder");
//var mySampleScriptAction = app.scriptMenuActions.add("onInvoke", function() {
//app.doScript(new File ("/C/Program Files (x86)/Adobe/Adobe InDesign CS6/Scripts/Scripts Panel/importFiles.jsx" ));});

//delete the menu
var myMainMenu = app.menus.item("Main");
try{
var myCustomMenu = myMainMenu.submenus.item("Import Folder");
myCustomMenu.remove();
}catch(myError){}

1 个答案:

答案 0 :(得分:5)

尝试重新安装Indesign。如果脚本库dll丢失了注册,则可能导致所有脚本失败。

...等一下 - 您是否尝试使用Extendscript Toolkit中的此脚本?如果你是,你必须改变引擎。

此外,如果您的系统上有多个版本的CS,则需要确保使用与InDesign版本匹配的Extendscript Toolkit - 换句话说,使用EXTK CS6 for IND CS6。

enter image description here

要尝试的另一件事是从doscript命令中删除 new 。我喜欢把我的东西包裹在这样的函数中:

//run a script from the CS6 Script Panel Directory (be sure to add the file extension
function RunMyScript(whatscriptname){
    app.doScript(File("/C/Program Files (x86)/Adobe/Adobe InDesign CS6/Scripts/Scripts Panel/" + whatscriptname));
}