我编写了一个简单的脚本来在Adobe Illustrator中打开两个文档(文件 - >脚本)并对这些文档应用一些命令。
脚本的目的;如果没有在Illustrator中打开文档,脚本将:
剧本:
try
{
var doc_1 = open(File("C:/file1.ai"));
var doc_2 = open(File("C:/file2.ai"));
var sourceDoc;
var targetFile;
var options = new IllustratorSaveOptions();
for (var i = 0; i < app.documents.length; i++ )
{
sourceDoc = app.documents[i];
sourceDoc.importVariables(new File("C:/variables.xml"));
sourceDoc.dataSets[0].display();
targetFile = new File("C:/output" + sourceDoc.name + '.ai');
sourceDoc.saveAs( targetFile, options );
sourceDoc.close();
}
}
catch(err)
{
alert(err);
}
此代码仅适用于上次打开的文件(file2.ai)。永远不会触及file1.ai,几乎就像没有循环一样。
导致这种情况的原因是什么?
答案 0 :(得分:1)
关闭循环中的第一个文件时,您只需将app.documents[1]
移至app.documents[0]
你想要向后循环它们
尝试使用
循环for (var i = app.documents.length; i >0 ; i-- )