なぜこれが機能しないのですか
tell application "System Events"
set AppName to name of every process whose background only is false
tell application (some item of AppName)
activate
end tell
end tell
これながら
働く
global AppName
tell application "System Events"
set AppName to name of every process whose background only is false
end tell
tell application (some item of AppName)
activate
end tell
明らかに、それはスコープと関係がありますが、私はなぜか何を理解していない
global AppName
宣言は冗長です。
tell application
最初のスクリプトで1つのブロックを他のブロックにネストしました。特定の状況でこれを行うには多くの理由がありますが、システムイベントは実際に他のアプリケーションにコマンドを発行できずactivate
、システムイベントと他のアプリケーションの両方を潜在的にターゲットにしているため、これはそれらの1つではありません。システムイベントを優先的にアクティブ化する。2つ目のtell
ブロックを2番目に分離することが機能します。