| ▲ | 最終回はQ&A。アップルのサポートセンターに届いたAppleScript関連の質問から、いくつかを抜粋してお答えしよう。 |
|
|
| ▲ | 「エラーが出る」「コントロールパネルを操作できないか」「ファイルメーカーProのスクリプトの書き方を教えてくれ」などなど。 |
連載[最終回(1)] 素朴なQ&A
|
」
|
先生、今回でこの連載が終わってしまうんですって? |
|
先生
|
うん、そこでだね。最終回に何をやろうかと考えたんだが,AppleScriptに関する全般的なQ&Aをやることにした。 |
|
」
|
読者から質問が来ているんですか。 |
|
先生
|
AppleScriptについての文法やスクリプトの書き方に関する質問は、このところ多くなっているね。 アップルコンピュータに聞いてみたんだが、AppleScriptはこれまでの言語系ソフトと同じ扱いで、具体的なプログラミングの質問には答えていなかったみたいなんだな。 |
|
」
|
これじゃ質問が先生のところに来るわけだ。 |
|
先生
|
いや、そんなことより、マックにAppleScriptを標準装備しているのに具体的なプログラミングの方法を教えてくれないんじゃ、いくらアップルがAppleScriptを広めようとしたってうまく行くわけがないじゃないか。 この問題の方がはるかに重要だよね。 |
|
」
|
おっしゃる通りですね。 |
|
先生
|
そこでアップルと相談して、この際、日経MACのページを借りて、そういった質問のうち頻度が高いものについて回答しようということになった。ここで取り上げられなかった質問については、何かまた別の機会を設けたいと思っている。 |
|
」
|
日経MACからAppleScriptの記事が消えてしまうのはさみしいですよね。 |
|
先生
|
おいおい、このコーナーは終わるけど,AppleScriptの記事をやめるってわけじゃないよ。 Visual BasicとかOLEとかWindowsの世界でもアプリケーション自動化が脚光を浴びてきたから(連載第10回〜第11回参照)、AppleScriptやOSA(Open Scripting Architecture)もこれからもっと注目されるはずだ。 ちょっとこの連載を始めたのは早すぎたかなぁ。 |
|
」
|
まぁ、そうおっしゃらずに、シメに入りましょうよ。 |
|
|
漢字Talk 7.5のCD-ROMのどこにAppleScriptが入ってるんですか。 |
|
先生
|
なっ、なっ、何という素晴らしい質問だ! 私はこういう素朴な質問が大好きだね。 |
|
」
|
でっ、先生。答は? |
|
先生
|
うん、これは「どっかに入っている」としか言いようがない。なぜって、CD-ROMの中身はインストーラーとフォントくらいしか見えないだろう。だから、CD-ROMの中なんか探さないで、まずは黙って漢字Talk 7.5をインストールしてみることだ。そうすると、起動ディスクに「Apple エクストラ」というフォルダが出来る。この中にAppleScript関連のソフトが入っている。 |
|
|
|
|
」
|
つまり、自動的にインストールされるわけですね。 |
|
先生
|
インストーラーでカスタムを選ばない限り、自動的に入るよ。 |
|
」
|
機能拡張とかは必要ないんでしょうか。 |
|
先生
|
機能拡張フォルダには「AppleScript」という機能拡張ファイルがインストールされる。 「機能拡張マネジャー」とかで、これを外すとAppleScriptが使えないから注意してね。 |
![]() |
|
|
カタカナの「ソ」を入れると必ずエラーが出るんですが。 | |
|
||
|
先生
|
あぁ、これね。
これはよく起きるんだ。例えば「ソ」とか「表」とかの文字を使うとこのエラーになるね。 |
|
![]() |
||
| こうしたエラーが出た場合には、その文字の前か後に半角の「\」(英文フォントだとバック・スラッシュ「\」)を入れてみなさい。たぶん直ると思うよ。 | ||
|
||
|
」
|
何ですかその「\」とか「\」とかっていうのは? | |
|
先生
|
英語でAppleScriptを書く場合、「\」という文字コードは特殊な制御文字として扱われる。だけど漢字コードの中には「ソ」のように、2バイト文字の1つが「\」になっているものがあるんだ。「\」を入れると「\\」となるので、制御文字の機能がキャンセルされてうまく働くようになる。構文確認するとなんか見苦しいけど、これでうまく動く。 | |
|
|
|
漢字Talk 7.5に付いているAppleScriptで,海外から入手したスクリプトは動くでしょうか。 |
|
」
|
そんなの動くに決まってますよね。 |
|
先生
|
いや、そうとは限らない。 |
|
」
|
えぇっ、なぜですか? |
|
先生
|
だって考えてもみなさい。海外のスクリプトが対象としているアプリケーションは日本語版じゃないんだよ。 |
|
」
|
そうかぁ、アプリケーション名だとかメニュー項目の名前とかを変更する必要があるわけですね。 |
|
先生
|
ほかにもあるよ。ファイルやフォルダの位置が絶対的なパスで指定されていたら、マシンが違っただけで動かないんだからね。もっともこれは、海外のスクリプトに限ったことじゃないけれど。 |
|
|
モニターの色数や解像度をAppleScriptで変えることはできるでしょうか。 |
|
」
|
これは僕、知ってます。漢字Talk 7.5のアップルメニューに「自動処理追加分」というフォルダがあって、その中にそのものズバリ「モニタ階調変更」という実行形式のスクリプトが入っているんです。 |
![]() |
|
|
先生
|
ほぉ、よく知ってるじゃないか。じゃぁ、スクリプト編集プログラムでそれを開いて内容を見てみようか。 |
![]() |
|
|
」
|
モニターの色数を変えるのに、何でこんな複雑なスクリプトが必要なんですか。 |
|
先生
|
アップルのエンジニアが作ったものだからね。前に言ったろう。プロはエラー処理まできちんと考えてプログラミングするって。 |
|
」
|
じゃぁ、素人向けに書き換えるとどうなるでしょう。 |
|
先生
|
例えば1670万色(32ビット)にするなら、たったこれだけさ。 現在の解像度で得られる最大色数を得るコマンドもある。
|
|
」
|
そんなコマンドがあるなんて知りませんでした。
|
|
先生
|
これらは「モニタ階調設定」って言うスクリプティング機能追加コマンドさ。
|
![]()
|
|
|
」
|
解像度を変えるコマンドもあるのでしょうか。 |
|
先生
|
残念ながら、色数を変えるコマンドはあるが、解像度はない。 |
|
」
|
Finderに命令してコントロールパネルの設定を変えさせるとかは? |
|
先生
|
ダメだね。Finderは特定のコントロールパネルを開かせることはできるけど、中の設定まではできない。 そこで以前紹介した「PreFab Player」を使って何とかしようじゃないか(本連載第8回参照)。
|
|
」
|
例のAppleScriptでマウス・クリックやキーボード・タイピングを操作するっていうユーティリティー・ソフトですね。 |
|
先生
|
こんなスクリプトを書けばいいんじゃないかな。
|
![]() |
|
|
まず、Finderにtellして「モニタ」コントロールパネルを開かせる。
するとダイアログ・ボックスが出てくるから、「1024×768」というリスト項目の座標をクリックさせ、
|
|
|
スクリプティング機能追加のファイルを開いて中のスクリプトを読めないんでしょうか。 |
|
」
|
スクリプティング機能追加って、さっきの「モニタ階調変更」とか「ファイル命令」とかのコマンドですよね。 これってスクリプトなんですか。 |
|
先生
|
そうか、そういう勘違いもあるんだね。スクリプト機能追加は、スクリプトが書かれているファイルじゃなくて、C言語とかで作られたプログラムなんだよ。だから当然ながらスクリプトとして読むことはできない。 |
|
」
|
じゃあ、その中身を見る方法は全然ないんですか。 |
|
先生
|
さっきも言ったように、必ず用語説明が付いているから、それで利用方法が分かるはずだよ。 |
AppleScript救急隊事務局(ASQs) info-asqs@fsight.co.jp