我相信下面的代码会做你想做的事。我列出了三个应用程序,您可能拥有其中两个:“日历”(以前称为“iCal”)和“联系人”(以前称为“通讯录”。第三个应用程序称为“Web 编辑器”) t 随 Mac 一起提供,但我想在名称中有空格的应用程序上测试此脚本。
on run
choose from list {"Calendar", "Contacts", "Web Editor"} with prompt "Choose which launcher you want to use" without multiple selections allowed and empty selection allowed
if result is equal to false then
error -128
else
# convert the list return from choose list to a single string
set app_name to result as string
# run the selected app
tell application app_name
launch
activate
end tell
return app_name
end if
end run
# the following line of code cancels the rest of the workflow when the user clicks the "Cancel" button
error -128
我相信您缺少的是您让“运行 AppleScript”操作返回应用程序的名称,该名称会将其传递给工作流程中的下一个操作。
return the result as string
您需要做的是在变量中捕获所选应用程序的名称,如下所示:
# convert the list returned from the "choose list" command to be a single string
set app_name to result as string
在变量中包含应用程序的名称后,您可以按如下方式使用它来打开应用程序:
tell application app_name
launch
activate
end tell
我不知道要返回什么样的价值。您在 AppleScript 中返回的内容将传递到此工作流程中的下一个 Automator 操作。对我来说唯一有意义的是传递选择的应用程序名称。
return app_name
我们可以返回它,或者另一个通常作为动作输出传递的东西是它自己的输入:
return input
您必须定义“输入”,例如在创建新的 Run AppleScript 操作时:
on run {input, parameters}
return input
end run
上面的脚本只是将其输入作为输出传递,并没有真正做任何事情,但这只是一个起点。
我正在整理一个网站作为在线教程,我可以使用你的帮助。我需要那些不熟悉编程的人来学习我正在整理的教程,我会免费帮助你,只要求你在我的网站上给我反馈。如果您有兴趣,可以访问我的网站和/或给我发送电子邮件。
开始 Mac 自动化和编程
kaydell@yahoo.com