Applescript的“从列表中选择”用户交互有一个“取消”按钮 - 我希望这个“取消”告诉脚本立即停止执行。换句话说:
set wmColor to choose from list {"Black", "Black for all", "White",
"White for all"} with prompt "What color should the watermark be?"
default items "White for all" without multiple selections allowed and
empty selection allowed
if wmColor is false
*tell script to stop executing*
end if
似乎无法找到如何做到这一点 - 有谁知道怎么做?
答案 0 :(得分:28)
错误号-128是“用户已取消”,并将停止脚本 - 例如:
if wmColor is false then
error number -128
end if
答案 1 :(得分:10)
“return”告诉脚本停止执行:
display dialog "Do you want to exit this script?" with icon note buttons {"Exit", "Continue"}
if the button returned of the result is "Exit" then
return
end if
答案 2 :(得分:2)
对于通过osascript调用的AppleScript的特定情况,可以终止它,通过执行以下操作将状态0返回给shell:
tell me to "exit"
通过执行以下操作终止,发出消息并返回状态1:
tell me to error "{your message}"
上面将这样的一行写成标准错误:
{scriptname}: execution error: {your message} (-2700)
这是一个取代神秘的“-2700”的例子,很可能是jefflovejapan正在寻找的东西:
tell me to error "Terminated by user" number 0
将其写入标准错误:
{scriptname}: execution error: Terminated by user (0)
并返回状态1.
我在阅读后通过实验了解到这一点: AppleScript Language Guide - error Statements
答案 3 :(得分:1)
我发现这适用于在应用程序中运行的脚本(例如,InDesign CS5.5):
repeat 100 times
tell application ("System Events") to keystroke "." using command down
delay (random number from 0.5 to 5)
end repeat
这是从answer修改的。
答案 4 :(得分:0)
您可以使用“退出”一词退出当前的应用程序。如果将脚本保存为应用程序,则可以使用此方法。
if wmColor is false
quit
end if