FileMakerでシステムを作り込んでいくと、「別ファイルにあるスクリプトを呼び出したい」「ファイルを分けて管理しているけれど、処理は連携させたい」といった場面が増えてきます。ですが、外部ファイルのスクリプト呼び出しは、最初は少し分かりづらく、どこで何を設定すればよいのか迷いやすいポイントでもあります。
この記事では、FileMakerの「外部ファイルのスクリプト呼び出し」の基本的な考え方と、具体的な設定手順、注意点をやさしい表現で解説します。これから複数ファイル構成にチャレンジしたい方や、他の人が作ったファイルと連携させたい方の入門編としてお役立てください。
外部ファイルのスクリプト呼び出しとは?
ここでいう「外部ファイル」とは、今開いているFileMakerファイルとは別のファイルのことです。たとえば、次のようなイメージです。
- 「顧客管理.fmp12」から「請求管理.fmp12」のスクリプトを呼び出す
- 「メインメニュー.fmp12」から、各業務ファイル(在庫・売上など)のスクリプトを呼び出す
処理を別ファイルに分けておくことで、設計の整理やメンテナンスのしやすさが向上します。その代わりに、「どのファイルの、どのスクリプトを呼ぶのか」をFileMakerに正しく教えてあげる必要があります。これが「外部ファイルのスクリプト呼び出し設定」です。
外部ファイルを呼び出すための事前準備
外部ファイルのスクリプトを呼び出すには、まず「参照先ファイル」を登録しておく必要があります。これは、FileMakerに「このファイルと、このファイルはつながっていますよ」と教える作業です。
代表的な設定方法は次の2つです。
- リレーションシップグラフに外部ファイルのテーブルオカレンスを追加する
- スクリプトステップで外部スクリプトを選択するときに、自動で参照が追加される(初回のみ)
実務的には、ほとんどの場合、リレーションシップを組んだタイミングで外部ファイルが「参照ファイル」として登録されるため、特別な操作を意識しなくても連携できることが多いでしょう。ただし、呼び出される側のファイルが、同じフォルダにあるか・同じサーバーにホストされているかは重要です。ファイルの場所が変わると参照が切れることがあるので、運用時はフォルダ構成を決めておくと安心です。
基本の操作:外部スクリプトを呼び出す手順
ここからは、実際に外部ファイルのスクリプトを呼び出す操作方法をステップごとに見ていきます。例として、「メイン.fmp12」から「業務.fmp12」のスクリプトを呼ぶケースを想定します。
- メインファイルでスクリプトワークスペースを開く
- 新しくスクリプトを作成し、編集状態にする
- 左側のスクリプトステップ一覧から「スクリプトを実行(Perform Script)」をダブルクリック
- 右側のオプションにある「指定(Specify)」ボタンをクリック
- 「ファイル」欄で、呼び出したい外部ファイル(業務.fmp12)を選択
- ファイルを選ぶと、そのファイル内のスクリプト一覧が表示されるので、目的のスクリプトを指定
- 必要であればスクリプト引数(後述)を設定して確定
これで、自分のファイルから外部ファイルのスクリプトを実行できるようになります。実行タイミングは、ボタンのスクリプトトリガ、メニューからの実行、レイアウトのトリガなど、通常のスクリプトと同じです。
スクリプト引数で柔軟な連携をしよう
外部スクリプトの使い勝手を大きく左右するのが「スクリプト引数」です。引数を使うと、呼び出し元から呼び出し先へ、「この顧客IDで処理して」「このフラグなら請求書を印刷して」などの指示を渡せます。
設定の流れは次のようになります。
- 「スクリプトを実行」のオプション画面で「スクリプト引数」を指定
- テキストや計算式で、渡したい値(例:顧客ID)を入力
- 外部ファイル側のスクリプト内で「Get ( ScriptParameter )」関数を使って引数を受け取る
シンプルな例として、「顧客ID」を渡して、外部ファイル側でその顧客に絞り込み・印刷を行うスクリプトなどが挙げられます。慣れてきたら、JSON形式で複数の値をまとめて渡す方法も便利ですが、まずは1つの値の受け渡しから試すのがおすすめです。
運用でつまずきやすいポイントと対策
外部ファイルのスクリプト連携でよく起きるトラブルと、その対策をいくつか挙げます。
- ファイル名の変更で動かなくなる
参照ファイルは「ファイル名」で紐付いているため、後からファイル名を変えると呼び出しに失敗することがあります。運用開始後は、むやみにファイル名を変更しないか、変更する場合は開発環境で事前にテストしましょう。 - ネットワークパスやサーバーが変わる
サーバー移行やフォルダ構成の変更でも、参照が切れることがあります。FileMaker Serverでホストする場合は、開発環境と本番環境でホスト名をそろえるなど、あらかじめ運用ルールを決めておくと安心です。 - 権限が足りずにスクリプトが動かない
外部ファイル側のアカウント・権限セットが、スクリプトの実行を許可していないとエラーになります。権限が少ないユーザーでテストしておき、「どの権限ならどこまで動くか」を確認しておくと、運用トラブルを防ぎやすくなります。
外部スクリプト活用の考え方
外部ファイルのスクリプト呼び出しは、「共通処理を1箇所にまとめる」ためにとても役立ちます。たとえば、次のような使い方です。
- 請求書印刷のロジックを1つのファイルに集約して、複数のシステムから呼び出す
- マスタ更新やバックアップ用のスクリプトを専用ファイルにまとめる
- ユーザーごとのメニュー画面をメインファイルに用意し、各業務ファイルの入口にする
「この処理はどのファイルにまとめると管理しやすいか」「どこまでを共通化して、どこからを個別にするか」といった整理をしておくと、あとからの拡張や修正がぐっと楽になります。
まとめ
外部ファイルのスクリプト呼び出しは、最初は少しハードルが高く感じるかもしれませんが、基本は「参照ファイルを認識させて」「スクリプトを実行ステップで選択する」だけです。そこにスクリプト引数を組み合わせることで、柔軟な連携ができるようになります。
まずは小さなテストファイルを2つ作って、単純なメッセージ表示スクリプトを呼び出すところから始めてみてください。少しずつ慣れていけば、複数ファイル構成のシステムでも落ち着いて設計・運用できるようになります。