title1
navigation bar3



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

  単純だけど、頭を使わないけど、同じことの繰り返しで退屈な仕事。
コンピューターなのにどうして自動的にやってくれないの?
今回はいよいよAppleScriptによる定型業務オートメーション実践講座。

  まず使っているアプリケーションを熟知することと、何でもかんでもAppleScriptで解決しようとせず、アプリケーションのマクロ機能を最大限利用するのが成功の秘訣だ。


連載[4-1] ファイルメーカー・オートメーションのすすめ

単純作業の繰り返しを自動的にやらせる
ターゲットはファイルメーカーPro
極意は「滅多にAppleScriptを書かない」
マクロを最大限利用してからAppleScriptを
検索やデータ書き出しはAppleScriptいらず
AppleScriptでアプリのマクロをキック!
今日の日付をファイル名にするには
日付の表示形式にこだわる
今日のスクリプトは幼稚園レベル

《 単純作業の繰り返しを自動的にやらせる 》
?
お早うございますぅ…。
先生
どうしたんだい。あんまり元気がないねぇ。
?
先生、まいりましたよ、実はですねぇ、ある外資系の会社にいる友人に頼まれごとをされたんです。
先生
マック絡みかい?
?
えぇ、マックで売上データを管理しているそうなんですが、毎夕5時になったらその日の分だけを選び出して、支店別にまとめて書き出しているそうなんです。
先生
単純な定型業務だな。
?
そう、ほとんど頭を使わない単純作業ですから、AppleScriptで自動化できればしめたものと…と思ったんですが僕ではどうも手に負えなくて、先生にご相談する次第なんですけど。
先生
どんなアプリケーションを使っているんだい?
?
ファイルメーカーProです。
先生
じゃぁ、すごくやりやすいじゃないか。
?
えっ、先生! こんな問題にも知恵を貸していただけるんですか?
先生
もちろんだよ。こう見えても私は情報システムにおける明智小五郎と言われているんだから。
?
うわぁっ、それならいいやっ! 今呼んで来ます。先生お願いしますよ、彼女そこまで来てるんですから。
先生
えっ、何だい彼女って?
?
まっ、いいじゃないですか。学生時代からのつき合いなんです。
先生
何だか君の作戦にはまった感じだなぁ。
TOP

《 ターゲットはファイルメーカーPro 》
?
先生、お連れしました。
先生
これは何と、突如として絶世の美女の出現じゃないか! 格好いいところを見せたくて無理したってわけだ。
?
すみません。?の言葉に甘えて突然おじゃましまして。
先生
いやぁ、いいんですよ。美しいお嬢さんがみえる分には部屋が華やぎますからね。
話は▲から聞きましたが、改めて内容を説明していただこうかな。
?
私どもの会社は世界数カ国に支店があるのですが、いわゆる基幹業務としての営業システムはホスト・コンピューターを使ったグローバルなネットワークで行っております。ただ私の所属するマーケティング部では、各支店から集まってくる販売データを、ホストから取り出してマックでファイルメーカーProを使って再加工しております。
先生
ホストからデータを取ってくる仕組みは既にあるわけですね。
?
えぇ。ですが今年からほかの支店のマーケティング部でも同様のことをしたいと申しまして、それなら私の支店がデータを各支店に配分するのが手っとり早いということなりました。ファイルメーカーProのデータから当日分だけを抜き出して、毎日ファイル・サーバーにコピーしています。サーバーはすべての支店とISDNでつながっていますから、ファイルを送るのは単なるサーバーへのコピーです。
先生
当日分だけ抜き出すとは、具体的にはどういうことですか。
?
売上データベースには、日付と支店のフィールドがあります。当日の日付と特定の支店で検索して、それをテキスト・ファイルとして書き出しています。これをすべての支店について繰り返すわけです。
先生
ファイルメーカーの売上情報はどんな様式なんですか?
?
ここに見本があります(図1)。
「Branch」が支店、「Date」が日付です。このような伝票が、そうですねぇ、日に数百件ほどになります。
 
図1 売上伝票のデータベース
先生 まぁ、大した作業じゃないですね。なんて言っちゃぁいけないな。大丈夫、何とでもなりますよ。
?
うわっ、ホントですか?こんなに自信を持ってお答えいただいたのは初めてなんです。
これまでご相談した方々は、皆様お金の話やら「マックじゃあ」とか工数がどうこうといったことに終始して、しかも結局期限までにはお出来にならないっておっしゃるんです。
?
先生、これがAppleScriptでどこまで自動化できるんですか?
先生 まずは状況の整理だな。やらねばならないことをきちんと個条書きかフローチャートにしてみようか。
じゃ、君が全体の作業を整理してみなさい。
TOP


《 極意は「滅多にAppleScriptを書かない」 》
?
先生、出来ました。こんなものでどうですか(図2)。
 
図2 作業の流れ
ファイルメーカーProでの作業

すべての支店について繰り返す

Date=当日の日付
Branch=特定の支店名でレコードを検索
YYMMDD.branchというファイル名
を付けてテキスト形式で書き出し
YY-当日の年
MM=当日の月
DD=当日の日
branch=支店名

Finderでの作業

でき上がったすべてのファイルをサーバーにコピー

先生
まぁ、いいんじゃない。これをフローチャートと呼ぶかどうかは別にして、結構分かりやすいじゃないか。
では、君の指示書に基づいてスクリプティングしてみようかな。
?
先生、僕が分からなかったのは…。
先生
大体想像できるよ、このフローチャートを見るとね。
?
えっ、どうしてですか?
先生
君は全体の作業をファイルメーカーProとFinderの2つの部分に分けたね。
これは、     tell application
      (アプリケーションに伝える内容)
       end tell のブロックを意識したんだろう。
?
その通りです。
先生
そして、ファイルメーカーの繰り返し作業を、

 repeat with aBranch in {France, Japan,...}
  (繰り返す内容)
 end repeat
                  なんて繰り返し構文で処理しようとしたんだ。

?
先生、図星です。でもそれじゃいけないんですか。
先生
AppleScriptにこだわりすぎて、ソリューションの全体を見失っているよ。このスクリプティングで重要なのは、どこまでをファイルメーカーProにやらせるか なんだ。逆に言えば、どこでAppleScriptを使うかということにかかっている。
?
えっ、これを全部AppleScriptで作るんじゃないんですか?
TOP


《 マクロを最大限利用してからAppleScriptを 》
先生
と言うのはだね、ファイルメーカーProには操作を自動化する「スクリプト機能」があるから、何も全部をAppleScriptでやることはないんだ。
?
「スクリプト機能」って、AppleScriptじゃないんですか?
先生
いや、ファイルメーカーProはAppleScriptも使えるんだが、それとは別にマクロのような自動化機能を持っているんだよ。できるだけそれを使った方が簡単だからねっ。
?
それではどうすればいいんです?
先生
先ずはじめに、ファイルメーカーのスクリプトでできることを検討しよう。
?
そうは言われても、そんな機能は初めて知りました。
先生
それが落とし穴なんだ。何かシステムを作る時はファイルメーカーProにしろ何にしろ、アプリケーションの機能や使い方を熟知していないと出来ないんだねっ。ファイルメーカーProの機能を完全にマスターしてないうちにAppleScriptなんて、百万年早いよ。
?
解説本とか読んで勉強したんですが、スクリプト機能なんて見かけなかったですねぇ。後ろの方にあって僕が見落としてたのかも知れませんけど。
先生
解説本がそのまま実務の役に立つと思っちゃいけないんだな。私のところにも、そうした本の読者からも山ほど質問状が来ているよ。要するに、実務を知らない連中が書いた本っていうのは飽くまでもマニュアルの補足で、現実のソリューションにはほとんど役立たないってことさ。
?
そうか、それでパソコンの本は増えるけど、ユーザーの悩みはちっとも解消されないんですね。
先生
その通り。ユーザーはみんな、実務のプロなんだからね。

TOP

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

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

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