InDesign CS5脚本:打开文档没有响应,并没有抛出错误?

时间:2012-07-19 16:08:30

标签: error-handling execute adobe-indesign extendscript



我使用方法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文档吗?

1 个答案:

答案 0 :(得分:1)

打开一个indesign文档并不是File.execute()的问题,它只是从os的角度打开一个文件而不引用文件本身。您可以通过调用app.open ( file );来打开文件。