问题描述
我正在寻求有关将变量从AppleScript传递到Automator的帮助。
我正在开发一个小型自动化应用程序。我需要输入一个数字,该数字将添加到PDF名称的末尾。我在自动器中使用了“询问文本”,但是,我发现,首先,弹出窗口不在屏幕中央。 (27英寸iMac)。第二,每次输入数字后,都需要使用鼠标单击“确定”,Enter键不起作用。
因此,我向AppleScript寻求帮助。这是我找到的,一个让我输入数字的窗口,然后单击“继续”,然后将数字传递给Automator以添加到PDF的名称。
- 将变量的值设置为存储
- 运行AppleScript:忽略此操作的输入。
on run {input,parameters} display dialog "Please enter QC Round." default answer "" with icon stop buttons {"Cancel","Continue"} default button "Continue" --> Result: {button returned:"Continue",text returned:"MySecretPassphrase"} return input end run
但是它不起作用。谁能帮我修复它?
解决方法
在Automator中,一个动作从上一个动作获取输入,并将其结果传递到下一个动作。在 Run AppleScript 操作中,输入位于 run 处理程序的input
参数中,并且处理程序返回的项将继续传递。>
在您的示例中,您只是传递了input
,该值没有值,因为该操作忽略了其输入。解决方案是从对话框返回文本,例如:
on run {input,parameters}
set dialogResult to (display dialog "Please enter QC Round." default answer "" with icon stop buttons {"Cancel","Continue"} default button "Continue")
return text returned of dialogResult
end run