我是一个相当新的程序员。我正在尝试一些非常先进的东西,但我喜欢挑战。:~) 我正在使用 Adobe 的 ESTK(ExtendScript Toolkit)为 InDesign CS6 编写复杂的脚本。我已经阅读了大部分教程并且学到了很多东西,但我现在遇到了困难。
我需要脚本来检测某个文件夹是否符合某个标准,如果符合,则深入研究该文件夹,计算其所有子文件夹,并依次打开每个子文件夹中的每个 .indd 文件,执行每个人的任务。我今天才刚刚开始编写脚本,这就是我到目前为止所得到的:
var getDataDialog = app.dialogs.add({name:"Job Info"});
with(getDataDialog){
// Add a dialog column.
with(dialogColumns.add()){
// Create the order number text edit box.
var orderNumTextEditBox = textEditboxes.add({minWidth:80});
}
}
// Show the dialog box.
var dialogResult = getDataDialog.show();
if(dialogResult == true){
// Get the order number and put it in the variable "orderNum".
var orderNum = orderNumTextEditBox.editContents;
// Get the first three numbers of the order number and put it in "orderPrefix".
var orderPrefix = orderNum.substr(0,3);
// Remove the dialog box from memory.
getDataDialog.destroy();
// Store the folder prefix into "folderPrefix".
var folderPrefix = "/g/ ArtDept/JOBS/" + orderPrefix + "000-" + orderPrefix + "999/"
// Open the document with the order number.
var myDoc = app.open(File(folderPrefix + orderNum + " Folder/" + orderNum + ".indd"), true);
}
else{
getDataDialog.destroy();
}
因此,如果输入的订单号是“405042”,它将在“405000-405999”文件夹中查找,然后进入名为“405042 文件夹”的打包文件夹,然后打开其中的.indd 文件。麻烦的是,我们有时在一个文件夹中有几个包。例如,我们可能有:
405000-405999/405007/405007_N10/405007_N10.indd
405000-405999/405007/405007_C12/405007_C12.indd
405000-405999/405007/405007_Orange/405007_Orange.indd
我希望脚本依次打开每个文件,并对它们执行一些任务。我确信这是可能的,但我只需要知道如何编码。