Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Adobe InDesign CS6“;“未定义”不是对象;_Javascript_Adobe Indesign - Fatal编程技术网

Javascript Adobe InDesign CS6“;“未定义”不是对象;

Javascript Adobe InDesign CS6“;“未定义”不是对象;,javascript,adobe-indesign,Javascript,Adobe Indesign,虽然我有Javascript方面的经验,但我对InDesign脚本还是新手。 我创建了一个新的菜单项,您将在下面的脚本中看到,我计划使用它调用另一个脚本onclick。但是我面临一些问题,所以我决定删除菜单项并重新开始。但是在第10行,我得到了“undefined不是一个对象”的消息,我不明白它为什么会引起问题 任何帮助都将不胜感激 //#targetengine "ImportFolder" //var myMainMenu = app.menus.item("Main"); //var m

虽然我有Javascript方面的经验,但我对InDesign脚本还是新手。 我创建了一个新的菜单项,您将在下面的脚本中看到,我计划使用它调用另一个脚本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){}

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

…等一下-您正在尝试使用Extendscript工具包中的此脚本吗?如果你是,你必须更换引擎

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

另一件要尝试的事情是从doscript命令中删除新的。我喜欢用这样的函数来包装我的:

//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));
}

第10行是哪一行<代码>var mymain menu=app.menus.item(“Main”)?@KevinB:应该是这样,因为这个小脚本的其余部分是通过
try..catch
构造来防止运行时错误的。然而。。。纯粹从理论上讲,这条路线不应该失败<代码>警报(MyMain菜单.子菜单.everyItem().名称)对我有效。这不是发生这种情况的唯一脚本。在第二个脚本的第1行(var myDocument=app.documents.add();)上,我得到了完全相同的消息(undefined不是一个对象)。我不知道。非常感谢你的帮助!乐意帮忙;我花了一段时间才意识到问题出在哪里。如果您在问题中提到了ExtendScript工具包,那么其他人可能已经知道了。引擎部分似乎更有可能。我们昨天也有同样的问题。多亏了你的回答,修复起来很容易。