Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

操作を自動化するFileMaker Proのスクリプト機能

ITエンジニアのためのFileMaker講座 第5回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/06/18 16:00

 本連載では、リレー連載の形式で「FileMaker Pro」というデータベースソフトウェアを紹介します。連載5回目となる本稿は、FileMaker Proの基本操作や業務に関する定型処理を自動化できる「スクリプト」について、その機能と役割を紹介します。

目次

はじめに

 連載5回目となる本稿は、FileMaker Proの基本操作や業務に関する定型処理を自動化できる「スクリプト」について、その機能と役割を紹介します。

スクリプトによる自動化のメリット

 FileMaker Proではレイアウト切り替えやレコードの移動、検索やソート、印刷などの基本操作から、それらを組み合わせて行う複雑な処理まで、一連の手動で操作していた処理をスクリプトによって自動化することができます。

 自動化して意味のある処理の例として売上集計があります。

 例えば、日々の売上データを集計する場合、業種によって多少集計方法は異なりますが、個々の集計は基本的には定期的に同じ方法で行われます。手動で行う集計作業は時間と手間がかかります。計算方法は同じであっても手動によるミスや、元データの誤りなどが発生する可能性もあります。

 売上集計を自動化した場合、例えば集計対象となる期間を入力してスクリプトを実行すれば、後は自動的に集計作業が行われ集計結果が表示されます。

 もし、元の数値に誤りがあってもその数値を修正した後、再度集計用のスクリプトを実行すれば再計算された集計結果を得ることができます。

 そして、集計内容によって月単位や年単位といった長期的に繰り返される処理の場合も一度自動化することで手動よりもはるかに集計作業が効率的に行うことができます。

自動化による操作性のアップ

 作成したスクリプトは、レイアウトオブジェクトにボタンとして設定することができます。使用頻度の高い機能がボタンとして配置されていれば、クリック操作で簡単に実行できるため、データベースを積極的に利用する気になるのではないでしょうか?

 簡単なメニュー操作であっても、アプリケーションの操作に慣れていないユーザーにとっては苦労の種です。一方、レイアウトにボタンとして配置されていれば、苦労することはありません。ボタン名に処理名を付けて機能を明示すれば、さらに安心して操作できることでしょう。

スクリプトの特徴

 製品に添付しているサンプルのデータベースで使用しているスクリプトステップを見てみると、メニューから選択した時に表示される内容と、スクリプトステップの名称が一致しているため、手動操作の順番でステップを選択してスクリプトが作成されていることが理解できます。そのためプログラミングの知識がなくても普段手動でやっている一連の操作をスクリプトに置き換えることができます。

図01 「選択した連絡先の一覧表示」スクリプト
図01 「選択した連絡先の一覧表示」スクリプト
図02
図02
図03
図03

 手動ではできない処理でも、「If...End If」のスクリプトステップを使って処理を分岐させたり、「Loop...End Loop」のスクリプトステップを使って処理を繰り返したりすることもできます。

図04 「備品コラムのソート」スクリプト
図04 「備品コラムのソート」スクリプト

 これら、手作業の手順の自動化、繰り返しや条件分離処理以外にも、次のようなことがFileMaker Proのスクリプトで実現可能になります。

  • 変数が利用できる(ローカルおよびグローバル変数)
  • 手作業にはないスクリプト特有の処理もいくつか用意されている
  • スクリプトの動作をあらかじめ設定した通りに行うことも、実行時にダイアログボックスなどで細かく指定することもできる
  • 他のスクリプトを呼び出すことができる
  • ユーザーの処理によるスクリプトの実行や、タイマーによる実行もできる(次項で紹介)
  • Advanced版ではステップ処理やデバッグが可能(次回に紹介)
  • FileMaker Serverではスクリプトをバックグランドで動作させることも可能

スクリプトの実行のタイミング

 スクリプトを実行するタイミングは次のようにいくつかあります。

  • 「スクリプト」メニューからの実行(メニューに表示されないスクリプトもある)
  • ボタンなどに割り当てておき、それをクリックした時
  • スクリプト一覧ウインドウからの実行(管理者権限が必要)
  • スクリプトトリガによる実行
  • 一定時間ごとの起動

 FileMaker Pro 10からは、「スクリプトトリガ」の機能により、入力やレイアウト切り替えのタイミングでスクリプトを実行できるようになったため、レイアウトが切り替えられたときにソートして表示したり、フィールドに入力された値をチェックしてメッセージを表示したりすることもできます。

 各イベントについては前回(第4回)説明されていますので、ここでは実際にFileMaker Proを操作した際に、どのような順番でイベントが発生するかを紹介します。対象とする操作は、レイアウト切り替えとフィールド編集、それらを組み合わせた3種類です。それぞれの場合で発生したイベントの種類と順番は次のようになります。

レイアウトを切り替えたとき

 ブラウズモードでレコードを編集する前に、レイアウトポップアップメニューから別のレイアウトへ切り替えたときに発生するイベントの順番は、次のようになります。

  1. OnLayoutLoad
  2. OnRecordLoad

フィールドに入力したとき

 ブラウズモードで現在カーソルがあるフィールドに「a」と入力したときは、次のようにイベントが発生します。

  1. OnObjectKeystroke
  2. OnLayoutKeystroke
  3. 「a」が表示される
  4. OnObjectModify

レコードが編集状態でレイアウト切り替えたとき

 レコードの編集状態でレイアウトを切り替えると、次の順番でイベントが発生します。

  1. OnObjectSave
  2. OnObjectExit
  3. OnRecordCommit
  4. OnLayoutLoad
  5. OnRecordLoad

 イベントの発生順番を理解することで、目的によってどのイベントで処理するのが適しているのかが明確になります。また、処理内容によっては、一つだけでなく複数のイベントを使用するケースもあります。

 例えば、レイアウトが切り替わったときにソートされた状態でレコードを表示する場合は「OnLayoutLoad」のイベントに対しソート処理が実行されるようにスクリプトを指定します。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 新居 雅行(ニイ マサユキ)

     テクニカルライター、デベロッパー、コンサルタントとして、Mac OS X、iPhone、FileMakerを中心に活動している。近著には「新 リレーションで極めるFileMaker」(共著/ラトルズ)、 「FileMaker Server大全」(ラトルズ)、「Mac OS Xシステム管理」(ラトル...

  • 西村 早苗(ニシムラ サナエ)

     メインフレームを利用した基幹業務のシステム設計やプログラムを経験、その後、1987年にファクトリーを設立。当時より、HyperCard、4th Dimension、dBase、FileMakerといったデータベースを利用したシステム開発やコンサルティング、執筆、トレーニングなどを担当。著書には、「...

バックナンバー

連載:ITエンジニアのためのFileMaker講座

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5