title1
navigation bar3



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



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


AppleScriptでファイルを検索するスクリプトは作れますか。
先生
これも実に素直な質問でよろしい。答は簡単、「作れます」。
えっ、先生それでおしまいですか。
先生
ほかに何を答えろと言うんだい。
せめて書き方をちょこっとでも教えてあげるとか…。
先生
だってこれに近いようなのを連載の初めの頃にやったような気がするんだけどね。じゃぁ、今回はとっておきの技を見せちゃおう。
ファイルを検索するスクリプト
たった2行ですか。
先生
これで、「KT7.5」というディスクにあるすべてのファイルの中から「Apple」で始まる ファイルを検索して得られる。英語モードなんで結果が文字化けしてるけど、ちゃんとファイルが取ってこれるだろ。
結果
検索したファイルに対して何かやりたい時はどうすればいいのでしょう。
先生
そういう時は、repeat構文で1つひとつファイルを操作していくことになるね。
リピート構文の例
そう言えば以前、

  entire contents

って属性を教えていただきました。サブフォルダも含めてディスクやフォルダ全体を操作対象にできるんでしたよね。

先生
そうだ、よく覚えていたね。この例はディスク全体を対象にしているけど、特定のフォルダに置き換えても動くよ。これを参考にして、自分なりに頑張ってスクリプトを書いてみたまえ。
TOP

実行形式のスクリプトで初期画面を出さない方法を教えて下さい。うっとうしいので。
実行形式のスクリプトって、スクリプト編集プログラムを使わないで実行できるアプリケーションみたいなスクリプトですよね。実行すると、こんなダイアログ・ボックスが出てきます。
ダイアログ・ボックス
先生
実行形式にするには、スクリプトを保存する時に「アプリケーション形式」を指定すればいい。
この時「初期画面を表示しない」というチェック・ボックスをオンにすれば、うっとうしい初期画面は出てこないよ。
「アプリケーション形式」の指定
TOP

AppleScriptでHyperCardは制御できますか。
そういえば、これまでHyperCradについては全然取り上げませんでしたよね。
HyperCardはスクリプタブルなんですか。
先生
もちろん。だけどHyperCardはちょっと特殊で、スクリプト編集プログラムを使わずに、HyperCardだけでAppleScriptが書けるんだ。
えぇっ!
先生
例えばこんなスタックがあったとしよう。
サンプルSTACK
ボタンとフィールドが1個ずつありますね。
先生
HyperCardはHyperTalkというスクリプトが使えるけど、その代わりにAppleScriptを書くこともできるんだ。
この「サンプルボタン」には、こんなAppleScriptが書いてある。
サンプルボタンのスクリプト
先生
「サンプルボタン」をクリックすると、ほら、ちゃんとAppleScriptが実行されて、フィールドの文字がダイアログボックスに表示されただろう。
フィールドの文字がダイアログボックスに表示される
スクリプト編集プログラムからHyperCardを制御することはできないんですか。
先生
できる。上と同じことをやらせるなら、こんなスクリプトになるね。
スクリプト編集プログラムからの制御
これはすごい! HyperCardは外からでも内側からでもAppleScriptで自動操作できるわけですね。
TOP

AppleScriptでLocalTalkとEtherTalkの切り替えができますか。
LocalTalkの設定を解除してから再起動してEtherTalk環境を作りたいんですが。
先生
えっ、切り替えた後で再起動する必要があったんだっけ? 「ネットワーク」コントロールパネルは単に変更するだけで再起動は必要ないはずだよなぁ。
えぇ、確かそのはずです。
先生
結論を言うと、AppleScriptだけでは無理だね。やっぱりこれも、PreFab Playerに頼るしかないな。さっきの解像度変更のスクリプトを参考にして頑張っていただくとしよう。


AppleScriptでQuarkXPressの内部的な機能を制御することはできますか。
例えば文字の回転とかですが。
先生
うんうん、文字の回転ね。こんな具合かな。
文字の回転
QuarkXPressは第7回でやりましたよね。
先生
だけど細かいコマンドまでは触れなかったね。ここではテキスト・ボックスの

  rotation

という属性をsetしているだけだ。

rotationという属性をset

QuarkXPressのAppleScriptコマンドはすごくたくさんあるんだ。
紹介しきれないから、スクリプト編集プログラムでQuarkXPressの用語説明を見て自分で調べてもらうしかないね。
QuarkXPressの用語説明
TOP


AppleScriptで、漢字Talk 7.5のクライアントから漢字Talk 6.0.7のAppleShareサーバーのファイルをコピーしたり、名前を変えたりできますか。
先生
何だって?
いや、先生。質問は書かれている通りなんですが。
先生
そんなことは、これまで考えてみたこともなかったよ。
で、どうなんでしょうか?
先生
マウントしてあるサーバーのディスクは、ローカルのハード・ディスクと同じ扱いだよ。Finderにtellしてちょちょいと操作すればいいじゃないか。例えばサーバーからファイル・コピーするスクリプトだと、こんな感じになるね。
MacServer
サーバーからファイルをコピーするスクリプト
ディスクとしてAppleShareサーバーの「MAC Server」を指定してるだけですね。あんまり難しく考える必要はないんですね。

TOP

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

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

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