title1
navigation bar3



[ 1 | 2 | 3 |4 |5 | 6 | 7 | 8 | 9 | 10 | 11 | 12-p1 | 12-p2 | 12-p3 ] [日経マック連載Index ]


  最終回はQ&A。アップルのサポートセンターに届いたAppleScript関連の質問から、いくつかを抜粋してお答えしよう。

  「エラーが出る」「コントロールパネルを操作できないか」「ファイルメーカーProのスクリプトの書き方を教えてくれ」などなど。



連載[最終回(1)] 素朴なQ&A


漢字Talk 7.5のCD-ROMのどこにAppleScriptが入ってるんですか。
カタカナの「ソ」を入れると必ずエラーが出るんですが。
漢字Talk 7.5に付いているAppleScriptで、海外から入手したスクリプトは動くでしょうか。
モニターの色数や解像度をAppleScriptで変えることはできるでしょうか。
スクリプティング機能追加のファイルを開いて中のスクリプトを読めないんでしょうか。
AppleScriptでファイルを検索する スクリプトは作れますか。
実行形式のスクリプトで初期画面を出さない方法を教えて下さい。うっとうしいので。
AppleScriptでHyperCardは制御できますか。
AppleScriptでLocalTalkとEtherTalkの切り替えができますか。
LocalTalkの設定を解除してから再起動してEtherTalk環境を作りたいんですが。
AppleScriptでQuarkXPressの内部的な機能を制御することはできますか。例えば文字の回転とかですが。
AppleScriptで、漢字Talk 7.5のクライアントから漢字Talk 6.0.7のAppleShareサーバーのファイルをコピーしたり、名前を変えたりできますか。
ファイルメーカーProに「発行と引用」の機能を追加したいんですが、AppleScriptでできるでしょうか。
ファイルメーカーProのデータを取り込むスクリプトがすごく遅いのですが、何とかなりませんか。
ファイルメーカーProのマクロとAppleScriptを組み合わせる方法を教えてください。


?
先生、今回でこの連載が終わってしまうんですって?
先生
うん、そこでだね。最終回に何をやろうかと考えたんだが,AppleScriptに関する全般的なQ&Aをやることにした。
?
読者から質問が来ているんですか。
先生
AppleScriptについての文法やスクリプトの書き方に関する質問は、このところ多くなっているね。
アップルコンピュータに聞いてみたんだが、AppleScriptはこれまでの言語系ソフトと同じ扱いで、具体的なプログラミングの質問には答えていなかったみたいなんだな。
?
これじゃ質問が先生のところに来るわけだ。
先生
いや、そんなことより、マックにAppleScriptを標準装備しているのに具体的なプログラミングの方法を教えてくれないんじゃ、いくらアップルがAppleScriptを広めようとしたってうまく行くわけがないじゃないか。
この問題の方がはるかに重要だよね。
?
おっしゃる通りですね。
先生
そこでアップルと相談して、この際、日経MACのページを借りて、そういった質問のうち頻度が高いものについて回答しようということになった。ここで取り上げられなかった質問については、何かまた別の機会を設けたいと思っている。
?
日経MACからAppleScriptの記事が消えてしまうのはさみしいですよね。
先生
おいおい、このコーナーは終わるけど,AppleScriptの記事をやめるってわけじゃないよ。
Visual BasicとかOLEとかWindowsの世界でもアプリケーション自動化が脚光を浴びてきたから(連載第10回第11回参照)、AppleScriptやOSA(Open Scripting Architecture)もこれからもっと注目されるはずだ。
ちょっとこの連載を始めたのは早すぎたかなぁ。
?
まぁ、そうおっしゃらずに、シメに入りましょうよ。
TOP

漢字Talk 7.5のCD-ROMのどこにAppleScriptが入ってるんですか。
先生
なっ、なっ、何という素晴らしい質問だ! 私はこういう素朴な質問が大好きだね。
?
でっ、先生。答は?
先生
うん、これは「どっかに入っている」としか言いようがない。なぜって、CD-ROMの中身はインストーラーとフォントくらいしか見えないだろう。だから、CD-ROMの中なんか探さないで、まずは黙って漢字Talk 7.5をインストールしてみることだ。そうすると、起動ディスクに「Apple エクストラ」というフォルダが出来る。この中にAppleScript関連のソフトが入っている。

Appleエクストラ

AppleScript

?
つまり、自動的にインストールされるわけですね。
先生
インストーラーでカスタムを選ばない限り、自動的に入るよ。
?
機能拡張とかは必要ないんでしょうか。
先生
機能拡張フォルダには「AppleScript」という機能拡張ファイルがインストールされる。
「機能拡張マネジャー」とかで、これを外すとAppleScriptが使えないから注意してね。
機能拡張
TOP

カタカナの「ソ」を入れると必ずエラーが出るんですが。
 
 構文誤り
先生
あぁ、これね。
これはよく起きるんだ。例えば「ソ」とか「表」とかの文字を使うとこのエラーになるね。
「ソ」を使った例
こうしたエラーが出た場合には、その文字の前か後に半角の「\」(英文フォントだとバック・スラッシュ「\」)を入れてみなさい。たぶん直ると思うよ。
\(バックスラッシュ)を入れる
?
何ですかその「\」とか「\」とかっていうのは?
先生
英語でAppleScriptを書く場合、「\」という文字コードは特殊な制御文字として扱われる。だけど漢字コードの中には「ソ」のように、2バイト文字の1つが「\」になっているものがあるんだ。「\」を入れると「\\」となるので、制御文字の機能がキャンセルされてうまく働くようになる。構文確認するとなんか見苦しいけど、これでうまく動く。
「¥」を入れる
TOP

漢字Talk 7.5に付いているAppleScriptで,海外から入手したスクリプトは動くでしょうか。
?
そんなの動くに決まってますよね。
先生
いや、そうとは限らない。
?
えぇっ、なぜですか?
先生
だって考えてもみなさい。海外のスクリプトが対象としているアプリケーションは日本語版じゃないんだよ。
?
そうかぁ、アプリケーション名だとかメニュー項目の名前とかを変更する必要があるわけですね。
先生
ほかにもあるよ。ファイルやフォルダの位置が絶対的なパスで指定されていたら、マシンが違っただけで動かないんだからね。もっともこれは、海外のスクリプトに限ったことじゃないけれど。


モニターの色数や解像度をAppleScriptで変えることはできるでしょうか。
?
これは僕、知ってます。漢字Talk 7.5のアップルメニューに「自動処理追加分」というフォルダがあって、その中にそのものズバリ「モニタ階調変更」という実行形式のスクリプトが入っているんです。
モニタ階調変更
先生
ほぉ、よく知ってるじゃないか。じゃぁ、スクリプト編集プログラムでそれを開いて内容を見てみようか。
モニタ階調変更
?
モニターの色数を変えるのに、何でこんな複雑なスクリプトが必要なんですか。
先生
アップルのエンジニアが作ったものだからね。前に言ったろう。プロはエラー処理まできちんと考えてプログラミングするって。
?
じゃぁ、素人向けに書き換えるとどうなるでしょう。
先生
例えば1670万色(32ビット)にするなら、たったこれだけさ。
現在の解像度で得られる最大色数を得るコマンドもある。

モニターを1670万色に

?

そんなコマンドがあるなんて知りませんでした。

最大色数を得るコマンド

16

先生

これらは「モニタ階調設定」って言うスクリプティング機能追加コマンドさ。
スクリプト編集プログラムで「用語説明を開く」を実行して、「“スクリプティング機能追加”フォルダへ」ボタンをクリックしてごらん。こうした機能追加の用語説明を見られるよ。

スクリプティング機能追加/モニタ階調変更

モニタ階調変更用語説明
?
解像度を変えるコマンドもあるのでしょうか。
先生
残念ながら、色数を変えるコマンドはあるが、解像度はない。
?
Finderに命令してコントロールパネルの設定を変えさせるとかは?
先生
ダメだね。Finderは特定のコントロールパネルを開かせることはできるけど、中の設定まではできない。
そこで以前紹介した「PreFab Player」を使って何とかしようじゃないか(本連載第8回参照)。

PreFabPlayer

?
例のAppleScriptでマウス・クリックやキーボード・タイピングを操作するっていうユーティリティー・ソフトですね。
先生

こんなスクリプトを書けばいいんじゃないかな。

解像度を変えるスクリプト

まず、Finderにtellして「モニタ」コントロールパネルを開かせる。
次にPreFab Playerに「モニタ」コントロールパネルの「オプション」ボタン(IDは6)をクリックさせる。

「モニタ」コントロールパネル

するとダイアログ・ボックスが出てくるから、「1024×768」というリスト項目の座標をクリックさせ、
最後に「OK」ボタン(IDは1)をクリックすれば完了だ。

ダイアログ・ボックス

TOP

スクリプティング機能追加のファイルを開いて中のスクリプトを読めないんでしょうか。
?
スクリプティング機能追加って、さっきの「モニタ階調変更」とか「ファイル命令」とかのコマンドですよね。
これってスクリプトなんですか。
先生
そうか、そういう勘違いもあるんだね。スクリプト機能追加は、スクリプトが書かれているファイルじゃなくて、C言語とかで作られたプログラムなんだよ。だから当然ながらスクリプトとして読むことはできない。
?
じゃあ、その中身を見る方法は全然ないんですか。
先生
さっきも言ったように、必ず用語説明が付いているから、それで利用方法が分かるはずだよ。

TOP

AppleScript救急隊事務局(ASQs) info-asqs@fsight.co.jp

主催 株式会社フォーサイト   後援 アップルコンピュータ株式会社

(c)1996-2013 The ForeSight Inc. All rights reserved.Appleは、米国アップルコンピュータ社の登録商標です。
AppleScriptは、米国アップルコンピュータ社の商標です。
その他記載の会社名・製品名・ソフトウェア名は一般にその会社の登録商標または商標です。