【问题标题】:Why is "do"/"do script" not working in AppleScript for After Effects 2022为什么“do”/“do script”在 AppleScript for After Effects 2022 中不起作用
【发布时间】:2022-07-27 12:56:19
【问题描述】:

在过去的几个小时里,我一直在努力解决这个问题。 我做了很多研究试图找到一个明确的答案,但到目前为止还没有运气。

我正在为 Adob​​e Suite 自动化工作流程做一些自动化测试。 我将使用 AppleScript 和 ExtendScript 自动化 Photoshop、InDesign 和 After Effects 文件。

我为 InDesign 2021 编写了这段测试代码,它运行良好:

set TheTitle to "Test Title"
tell application "Adobe InDesign 2021"
    activate
    open file "path:to:folder:test.indd"
    set jsx_script to "/path/to/folder/test.jsx"
    do script jsx_script language javascript with arguments {TheTitle}
    close every document saving no
    quit
end tell

我使用相同的原理来处理 After Effects 2022,do script 部分不断抛出 Expected end of line, etc. but found “script”. (-2741) 错误。

这是 AE 脚本的工作版本:

set jsx_file to "/path/to/folder/test_ae.jsx"
tell application "Adobe After Effects 2022"
    activate
    DoScriptFile jsx_file
end tell

如果我只输入do,脚本编辑器会将其涂成绿色(作为变量而不是命令)。所以,do scriptdo JavaScript 都不起作用。

DoScriptFile 确实在 AE 中运行 JSX,但问题是我需要将变量传递到 JSX 文件中,而DoScriptFile 不允许这样做。

所以,我正在寻找一种通过 DoScriptFile 将参数/变量传递给 JSX 的方法,或者寻找解决 do script 不适用于 AE 的解决方案。

【问题讨论】:

    标签: applescript extendscript after-effects


    【解决方案1】:

    你可以在做脚本文件之前设置变量:

    set TheTitle to "Test Title"
    tell application "Adobe After Effects 2022"
        activate
        DoScript "var TheTitle = \"" & TheTitle & "\";"
        DoScriptFile "/path/to/folder/test_ae.jsx"
    end tell
    

    【讨论】:

      最近更新 更多