首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么"do"/"do script“在AppleScript中不起作用?

为什么"do"/"do script“在AppleScript中不起作用?
EN

Stack Overflow用户
提问于 2022-05-05 21:06:55
回答 1查看 108关注 0票数 0

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

我正在为Adobe自动化工作流进行一些自动化测试。我将使用AppleScript和ExtendScript自动化Photoshop、AppleScript和After效果文件。

我为InDesign 2021编写了这个测试代码,它运行得很好:

代码语言:javascript
复制
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

我使用相同的原理来处理后效2022,而do script部分一直抛出Expected end of line, etc. but found “script”. (-2741)错误。

这是AE脚本的工作版本:

代码语言:javascript
复制
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的方法,或者是一种不使用AE的do script解决方案。

EN

回答 1

Stack Overflow用户

发布于 2022-07-27 04:56:19

可以在执行脚本文件之前设置变量:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72133662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档