我正在使用该方法 myFile.execute()
以编程方式打开一个 InDesign 文档(在这种情况下,它是一个应用了样式的空白文档)。
有时会打开文档,有时则不会打开文件……似乎脚本在完成之前没有足够的时间打开文件。
这发生在我身上,因为在使用它进行测试
alert(template.name)
时确实显示了我正在寻找的文件名,并且脚本在应用时不会引发错误 File(template).execute()
(变量 template
本身已经是一个 File
对象,但也根本 template.execute()
不起作用)。
以下是相关代码:
function openStylesTemplate()
{
var templateFolder = getScriptFolder(); // with the function below
var fileArray = templateFolder.getFiles("*.indd"); // an array of all InDesign documents in this script's same folder
try
{
var template = fileArray[0]; // the ONLY InDesign document in the folder
File(template).execute(); // open the InDesign template document
}
catch(e)
{
alert("Error: " + e.message + "\n\n" +
"Make sure the InDesign styles document is in the same folder as this script,\n" +
"and that it is the ONLY InDesign document in this folder, and try again.\n\n" +
"This script is in this folder: " + templateFolder + ".");
exit();
}
} // end of function openStylesTemplate
那么,脚本可能没有足够的时间来加载文档吗?如果是这样,我应该在调用此函数之前创建一个计时器吗?或者有没有更好的方式以编程方式打开 InDesign 文档?