我正在努力完成一项非常简单的任务。我尝试在新文件名下保存现有的InDesign文件(fyi:xml文件的文件名),但save()并不真正存储文件而save()也关闭当前文件(似乎是此时的新文件名。)
有什么想法吗?
/* remove file-ending of the xml-file */
var _selectedXmlFileName = mSelectedXmlFile.name;
var _newName = _selectedXmlFileName.substr(0, _selectedXmlFileName.lastIndexOf('.'));
var _newFile = File(mInDesignSample.filePath + "/" + _newName + ".indd");
mInDesignFile = mInDesignSample.save(_newFile);
mInDesignSample.close(SaveOptions.NO);
答案 0 :(得分:1)
上面的代码应该对你有用,我用静态值进行了快速测试并且它有效。此外,如果您注释掉代码的最后一行,新文件将不会被关闭,而只会以新名称保存。供您参考,您可以查看下面我用于测试静态值的代码片段,运行此操作所需的前提条件是打开保存的InDesign文档。
var mSelectedXmlFile = new File("C:\\abc\\RC.xml") //Change the path to one present on your machine
var mInDesignSample = app.activeDocument;
var _selectedXmlFileName = mSelectedXmlFile.name;
var _newName = _selectedXmlFileName.substr(0, _selectedXmlFileName.lastIndexOf('.'));
var _newFile = File(mInDesignSample.filePath + "/" + _newName + ".indd");
mInDesignFile = mInDesignSample.save(_newFile);
//mInDesignSample.close(SaveOptions.NO); //Uncomment of you want to close the INDD file after saving it under the new name
如果此静态代码片段适合您,那么我建议您在工作流程中调试代码以查看您正在使用的变量的值,我的猜测是某些值不是正确的类型或缺少。
谢谢,
马南