【スクリプトトリガ編】ファイルメーカーの使い方を覚えたいあなたの為のブログ第11回「処理を自動化する機能」
2021年09月07日 02:35 PM
Claris FileMaker 19
こちらは『ファイルメーカーの使い方を覚えたいあなたの為のブログ11回目「処理を自動化する機能」』の続編として、Claris FileMaker 19時に作成した記事です。
Ver.18の記事では
・処理の自動化とは
・スクリプトワークスペースとは
・スクリプトの書き方(試してみましょう)
の3つをご紹介しました。
今回は「スクリプトトリガ」についてご紹介します。
・スクリプトトリガとは
・スクリプトトリガを使ってみよう①~Tabキーで次のレコードに移動~
・スクリプトトリガを使ってみよう②~自動でソート~
——————————————————————————
こちら全12回のシリーズで連載しています。
①データを入力する器を作成する機能 V15|V17|V18|V19|2024
④データを変更する機能 V15|V17|V18|V19(入力を補助する機能をプラス)
⑤データをインポートする機能 V15|V17|V18|V19
⑥データをエクスポートする機能 V16|V17,18|V19
⑧データを表示する画面を作成する機能 V16|V17,18|続編(V19)
⑪処理を自動化する機能 V17,18|スクリプトトリガ編(V19) ←今回はここです
⑫セキュリティに関する機能 V17,18|FileMakerファイルの暗号化/通信の暗号化(V19)
——————————————————————————
スクリプトトリガとは?
「”あるきっかけ”(トリガ)によりスクリプトを実行させる事ができる機能」です。
銃の引き金はトリガと言いますね。そのようにきっかけになるものや、ドミノ倒しのように何かのきっかけで動き出すというイメージがあると理解しやすいと思います。
前回の記事ではタスク管理システムで「期限が今日のデータをExcelで保存する」機能のスクリプトを作成し、そのスクリプトを実行するための”ボタン”を設置しました。
ボタンの場合はユーザーが任意のタイミングで操作しますが、スクリプトトリガの場合はユーザーが意識していなくても、指定した操作が行われる、つまり“イベント”が発生するとスクリプトが実行されます。
スクリプトトリガは26種類あり、レイアウトオブジェクト・レイアウト・ファイル・タイマーの4つのカテゴリに分類されます。詳しくは以下をご覧ください。
スクリプトトリガを使ってみよう!
ナレッジを読んで「分かるような、分からないような・・・」と思った方は少なくないと思います。
難しいことは考えず、まず使ってみましょう。
スクリプトトリガを使ってみよう①~Tabキーで次のレコードに移動~
まずは先程載せたClaris ナレッジ:スクリプトトリガの理解と使用の冒頭にある
「表形式表示でスクリプトトリガを使用して、Tabキーで移動しているときに、ある行(レコード)の末尾から次の行(レコード)の先頭に移動することができます。」
を実装してみましょう。
ダミー個人情報100件のExcelデータをインポートしただけのシンプルなカスタムAppを利用します。
皆さんもぜひファイルを用意してみてください。(最低3レコードほどあれば大丈夫です。)
このままだと、ある行(レコード)の末尾(mailフィールド)でTabキーを押下すると、その行の先頭にもどります。次の行(レコード)に移動しません。
今回使うスクリプトトリガは「OnObjectKeystroke」です。
オブジェクトがアクティブな状態でキーボードから1つ以上の文字が入力されるとスクリプトが実行されます。
設定手順は大きく分けて、
①スクリプトを作成→②スクリプトトリガ設定で「OnObjectKeystroke」にスクリプトを割り当てる
この2ステップです。
順に見ていきます。
①スクリプトを作成
以下のスクリプトを作成します。
スクリプト名は分かりやすく「Tabキーで次のレコードへ移動」にしています。
《スクリプトでやっていること》
1,2行目:押下したキーをFileMakerで取得し、そのキーをUnicodeコードポイントに置き換える
3,4,5行目:押下したキーがTabキー(Unicodeコードポイントが9)だった場合に次のレコードに移動する
※スクリプトについてはClaris FileMaker Pro 19 ヘルプをご参考ください。
②スクリプトトリガ設定で「OnObjectKeystroke」にスクリプトを割り当てる
レイアウトモードに切り替えます。
(レイアウトモードにすると自動的にフォーム形式表示になります。)
末尾のフィールド「mail」で右クリック→「スクリプトトリガ設定」をクリックします。
「OnObjectKeystroke」をダブルクリック、もしくは選択した状態で下の「スクリプト:選択」をクリックします。
スクリプト指定画面が出てくるので、先ほど作成した「Tabキーで次のレコードへ移動」を選択し、「OK」をクリックします。
スクリプトトリガ設定画面で指定したスクリプトが確認できます。「OK」をクリックします。
これで設定完了です。
表形式表示で、Tabキーで行(レコード)の末尾から次の行(レコード)の先頭に移動できるかと思います。
スクリプトトリガを使ってみよう②~自動でソート~
もう一つスクリプトトリガを紹介したいと思います。(①より簡単です。)
「レイアウトを開くと名簿が姓のあいうえお順で並んでいる」という状態をスクリプトトリガで実装したいと思います。(レコード数は、ソートされたら分かる程度に作成しておきましょう)
使うスクリプトトリガは「OnLayoutEnter」です。
レイアウトがロードされた後にスクリプトを実行します。
スクリプトは以下の1文です。
ソート順の設定では「姓かな」をソート優先順位に登録しています。
レイアウトモードでツールバーの「レイアウト」→「レイアウト設定」をクリックします。
「スクリプトトリガ」タブでイベント「OnLayoutEnter」にスクリプトを設定します。設定手順は「使ってみよう①」と同様です。
これで設定は完了です。ブラウズモードに戻り、レイアウトがロードされる(レイアウトを切り替えたり、新規ウィンドウを作成したりする)と自動で姓のあいうえお順でソートされることが確認できると思います。
サンプルAppで使われているスクリプトトリガを見てみよう!
Clari s社や各Claris パートナーから数多くのサンプルAppが提供されています。
それぞれで使われているスクリプトトリガをぜひ参考にしてみてください。
このアイコンがスクリプトトリガの目印です。
今回使ったカスタムAppで確認します。
「使ってみよう①」で設定した「mail」フィールドの右下
「使ってみよう②」で設定したレイアウトの右下
カーソルを当てると上図のようにスクリプトトリガの詳細が確認できます。
ぜひチェックしてみてご自身のカスタムAppにご活用ください!
無料サンプルAppは以下サイトからダウンロードできます↓
いかがでしたでしょうか?「スクリプトトリガがどういう機能なのかちょっとわかった」「便利そう」と思ってくだされば幸いです。
次回は第12回「セキュリティに関する機能」です。
最後までお読みいただきありがとうございました!