質問: apple script の作成につきましての質問です。 こんにちは、いつもお世話になっております。 現在、game pad companionという、 マウスのボタンを割り当てるシェアソフトを使用しています。 使用環境はpowerbook g4 17/1,5 os x tigerです。 マウスは logicool mx-900 bluetooth mouseです。 起動後、システム環境設定のパネルを開き gamepadcompanionを一度立ち上げて 「中止」ボタンを押し、その後に「開始」ボタンを 押さなければ、割り当てが適用されません。 そこでその操作をapplescriptにしたものを、 以前この掲示板で作っていただいたのですが、 osをpantherからtigerに変えたところ動作しなくなってしまいました。 アプリケーション形式のapplescriptをを立ち上げると、 環境設定パネルが開き、gamepadcompanionまでは行くのですが、 それ以降進まなくなってしまいます。 そこで、エラー表記が 「nsreceiverevaluationscripterror:4」と出ます。 applescriptをどのように訂正したら、 上記のような動作にすることができますでしょうか? 以前、教えていただきましたapplescriptは 「 tell application "system preferences" activate set current pane to pane "com.carvware.gamecompanionpref" end tell tell application "system events" tell process "system preferences" tell window 1 click button "中止" delay 1 --1秒待つ click button "開始" end tell end tell end tell quit of application "system preferences"」です。 よろしくお願いいたします。 また、applescriptの作成の仕方なのですが やりたい動作を行っているものを、 scriptエディタなどでダイレクトに文字に変えるような方法はありませんでしょうか? 自分なりにヘルプを読みながらやってみたのですが、 できませんでした。。。 質問ばかりですが、よろしくお願いいたします。
回答: 試す環境もなくわかりませんが、mac os xの10.3と10.4でapplescriptの文法が大きく変わるとも思えません。スクリプトのファイルを新規作成してコピー&ペーストして保存し直すとか、ちょっとだけ別の書き方をすれば動作するようになるのではないかと思います。私の経験では文法的には正しいものでも、tell~end tellなどが入れ子になっていると、macの環境によっては動作したりしなかったりしたことがあります。例えば、tell process "system preferences"、tell window 1のところはtell window 1 of process "system preferences"とかwindow 1はfront windowとかfirst windowとか別の書き方ができるのではないかと思います。 解決できなければ、ここの掲示板よりもapplescriptの達人がたくさんいるmlや掲示板に質問された方がいい回答が得られると思うので、そちらに質問し直した方がいいと思いますよ。(ここのmacintoshの掲示板はあまりに速く流れすぎて、ただでさえユーザーが少ないのに見てもらえる確率が低いような気がします) > やりたい動作を行っているものをscriptエディタなどでダイレクトに文字に変えるような方法はありませんでしょうか? これはscripteditorの[●]記録ボタンを押してから、applescriptにしたい動作を行って、それからスクリプトエディタに戻って[■]停止ボタンを押せばいいです。ですがこれで上手くいくソフトウェアは少ないので、そのようにしても何も起こらなかったりします。つまり実用になることは期待できず、一般に自分でスクリプトを書くしかありません。