FileMakerで業務システムを作っていくと、「ファイルを開いたときに、毎回同じ処理を自動で実行したい」という場面がよく出てきます。たとえば、最初にログインユーザーを確認したい、特定のレイアウトを開きたい、日付の初期値をセットしたい、などです。これらを人の操作に任せると、うっかり忘れやミスが発生しやすくなります。
そんなときに便利なのが「起動時スクリプト(ファイルオプション)」の設定です。うまく使うことで、ファイルを開いた瞬間に必要な準備やチェックを自動化でき、利用者の手間とミスを減らすことができます。
起動時スクリプトとは何か?
FileMakerの起動時スクリプトとは、「ファイルを開いたときに自動で実行されるスクリプト」のことです。
FileMakerでは、スクリプトにさまざまな処理を登録できますが、その中から「このファイルを開いたときは、まずこのスクリプトを動かす」という指定ができます。
代表的な使い方としては、次のようなものがあります。
- 最初に表示するレイアウトを統一する
- ログインしたアカウントごとに開く画面を切り替える
- グローバルフィールド(セッション用の値)を初期化する
- 今日の日付や締め日に合わせたメッセージを表示する
- 環境(本番/テスト)に応じて動作を分ける
このような処理を起動時にまとめて実行しておくと、ユーザーは余計な操作を意識せずに、いつも同じ状態から作業を始められます。
起動時スクリプトを設定する基本手順
起動時スクリプトは、「ファイルオプション」の画面から設定します。基本的な流れは次のとおりです。
- まず、起動時に実行したい内容のスクリプトを作成する
- メニューから[ファイル] → [ファイルオプション]を開く
- [開く]タブで「ファイルを開く時に実行するスクリプト」にチェックを入れる
- 右側の[指定…]ボタンをクリックして、実行したいスクリプトを選ぶ
- [OK]で設定を保存する
この設定を行うと、そのファイルが開かれたタイミングで、選択したスクリプトが自動的に実行されるようになります。
まず作っておきたい「基本の起動スクリプト」
起動時スクリプトとして、まず押さえておきたい処理をいくつか挙げます。最初はシンプルなものから始めるのがおすすめです。
1. 最初に表示するレイアウトを決める
一番わかりやすい使いどころは、「最初にどのレイアウトを開くか」を決めることです。たとえばメインメニューやダッシュボードのレイアウトを開くスクリプトを作ります。
スクリプトの例:
- レイアウト切り替え [ 「メインメニュー」レイアウト ]
- ウインドウ最大化(必要に応じて)
2. ユーザーごとに表示を切り替える
同じファイルを、複数の部署や役割の人が使う場合、ログインアカウントによって開く画面を分けておくと便利です。
起動時スクリプトでは、次のような流れで分岐させることができます。
Get ( アカウント名 )などの関数でログイン情報を取得する- 条件分岐(If)で、アカウント名や権限セットごとに処理を分ける
- それぞれに対応するレイアウトへ切り替える
これにより、一般ユーザーは「入力画面」、管理者は「管理用メニュー」といった形で、適したスタート画面を自動で表示できます。
3. グローバルフィールドの初期化
FileMakerでは、グローバルフィールド(グローバルストレージ)は、ユーザーごと・セッションごとに値が記録されます。検索条件や一時的な絞り込み条件などをグローバルフィールドに入れている場合、前回の値が残ったままだと、意図しない動きにつながることがあります。
起動時スクリプトで、次のような処理を行うことがよくあります。
- グローバルフィールドに空の値をセットする
- 必要に応じて、今日の日付やログインユーザー名をセットする
こうしておけば、毎回「リセットされた状態」から処理を始められるので、トラブルを減らせます。
運用で気をつけたいポイント
起動時スクリプトは便利な反面、「間違った設定」をするとファイルが開きづらくなるリスクもあります。運用上、次の点に注意すると安心です。
テスト用アカウントで動作確認する
起動時スクリプトを修正したら、すぐに本番アカウントで試すのではなく、テスト用のアカウントやコピーしたファイルで挙動を確認すると安全です。特に、無限ループになりそうなスクリプトや、誤ったレイアウトに飛んでしまう可能性のある処理は慎重にテストしましょう。
万一のときに起動スクリプトを無効化する方法を知っておく
起動時スクリプトの内容を間違えてしまい、ファイルを開くたびにエラーが出たり操作不能になったりすることがあります。その場合に備えて、「起動時スクリプトをスキップして開く」方法を知っておくと安心です。
一般的には、FileMaker Pro(ローカルで開く場合)では「Shiftキーを押しながらファイルを開く」ことで、起動時スクリプトを無効化できる場合があります(環境やバージョンによって異なることがあるため、実際の動作はご自身の環境で事前に確認してください)。FileMaker Server などでホストされたファイルに対してはこの方法は使えないため、その場合は別の回避策が必要です。
どうしても起動時スクリプトが原因で操作できない場合は、開発用の別ファイルから外部ファイル参照を使って対象ファイルを開き、スクリプトを編集するといった、応急的な回避方法も検討します。
まずは小さく始めて、少しずつ育てていく
起動時スクリプトは、一度に完璧なものを作る必要はありません。最初は「起動時にメインメニューを開くだけ」など、シンプルな内容からスタートして、運用しながら少しずつ処理を追加していくやり方がおすすめです。
FileMakerのスクリプトは、後からでも柔軟に編集できます。次のような手順で段階的に育てていくと、トラブルを減らしつつ便利さを高められます。
- メインレイアウトの表示だけ設定する
- グローバルフィールドの初期化を追加する
- ユーザーごとの分岐やメッセージ表示を追加する
- 必要に応じて、環境別設定(本番/テスト)などを加える
起動時スクリプトをうまく設計すると、「開いた瞬間から仕事に集中できる」使いやすいシステムに近づきます。日々の運用で気づいた小さな不便を、ひとつずつ起動時スクリプトに組み込んでいくイメージで改善していくとよいでしょう。