こんにちは — Applescript のナブです。
実際に以下のスクリプトを実行しようとしているわけではありませんが、この効果を実現する AppleScript 言語構造を見つけようとしています (これは、私がよく知っている言語では問題なく機能します)。
set adoc to choose file
tell application "Finder"
tell application "TextEdit"
open adoc
end tell
tell application process "Textedit" of application "System Events"
if (click menu item "Print…" of menu "File" of menu bar item "File" of menu bar 1 of application process "TextEdit" of application "System Events") then
display dialog "It worked boss!"
end if
end tell
end tell
基本的に、私は古いアプリケーションの GUI スクリプトを作成しており、イベントが発生したかどうかをすべての段階で知る必要があります。たとえば、印刷ウィンドウが存在するかどうかを尋ねることで、イベントの成功を推測できることはわかっていますが、理由については説明しませんが、予想される結果からイベントを推測したくありません。それは起こった。AppleScript でこれを行う方法はありますか? ありがとう!
興味深いことに、私のばかげた難解な目的のために、提供された両方の回答を組み合わせることで、いくつかの非常に古いアプリのスクリプトを作成するという困難を乗り越えることができました。場合によっては、同様のボタンを持つ 2 つの可能なウィンドウのうちの 1 つが存在する可能性があります。この場合、{x,y} ソリューション (私の目的では、いくつかのケースではより効果的) は機能しません。間違ったボタンを正しくクリックできるためです。ここで、試行錯誤戦略の適用 (実際には、考慮しなかったのは一種の愚かさだと感じています) では、同じ精度が得られません。なぜなら、私が扱っている UI 要素のいくつかは奇妙であり、そうではないからです。期待どおりに動作する (または期待されるプロパティを持っている) 場合、少なくともその問題は解決されます。この悪夢から私を救ってくれてありがとう!