スクリプト引数を活用してみよう!
2015年04月02日 03:41 PM
はじめの一歩
FileMakerでは、様々な機能を「ボタン」として割り当てることが出来ます。
少しFileMakerの知識が必要になりますが、「スクリプト」を作成し、ボタンに割り当てることで、
複雑な処理を自動実行させることができます。
例えば、こんな画面があったとします。
この中で、「印刷」のボタンをクリックすると…
請求書のプレビューが表示され、印刷ダイアログのOKを押すと請求書が印刷されます。
ですが、例えば月末に請求書をまとめて印刷する際には、プレビューは表示させず、
そのまま印刷させたいですよね。
こんな時に役立つのが、「スクリプト引数」という機能です。
スクリプト引数は、ボタンや、スクリプトから別のスクリプトを実行する際に指定することができます。
ボタンから指定する場合は、レイアウトモードでボタンを右クリックします。
ボタン設定を押すとダイアログが表示されますので、スクリプト実行の中にある「指定」のボタンをクリックします。
すると、スクリプトの指定画面がひらきますので、実行したいスクリプトクリックした後、
OKを押す前に画面下部にある「オプションのスクリプト引数」という項目に、
好きな値を入力します。計算式などで指定することも可能です。
ここでは「通常」と入力しました。文字の前後にある”(ダブルクォーテーション)は
自動的に入力されるもので、「この中身はテキストですよ」とシステムに判別させる為の記号です。
同様の方法で、請求書一括印刷のボタンのスクリプト引数は「一括」と入力します。
そうすることで、同じ請求書印刷のスクリプトを実行しても、処理を切り分けることが可能になります。
例えば、次のスクリプトようにしてみました。
Get(スクリプト引数)という関数を使用することで、先ほど指定したスクリプト引数を計算式に
取り入れることができます。
この請求書印刷のスクリプトでは、通常ならダイアログあり、一括ならダイアログなし、
というように処理を切り分けています。
…ですが、実際にはこの請求書のスクリプトを実行する前に、
必須項目が入力されているか?など、色々とエラー処理を組み込みたいですよね。
でも、請求書印刷のスクリプトはシンプルなまま残しておきたい。
そんな場合には、次のテクニックが有効です。
まず、「エラー処理を実行し、問題がなければ請求書印刷のスクリプトを実行する」という
スクリプトを作成します。
下から4行目の、スクリプト実行の行に注目して下さい。
「引数:Get(スクリプト引数)」となっています。
スクリプト引数は、別のサブスクリプトを実行した際には、その値を引き継ぐことができません。
スクリプト引数をサブスクリプトでも利用したい場合は、
スクリプト実行のスクリプトステップの中で、もう一度同じ引数を指定することで、
結果としてその値を引き継ぐことが出来ます。
上の図のスクリプトでは、Get(スクリプト引数)という引数にすることで、
そのスクリプトを実行した引数と同じ内容が入力されるようにしてあります。
※少し難しいお話になりますが、例えば一括印刷のスクリプトでは、請求書一括印刷の
スクリプトをLOOP処理の中に組み込むことで、まとめての請求書印刷が可能になります。
いかがでしたでしょうか。
簡単ですが、すごく便利なスクリプト引数の機能をぜひ使ってみて下さい。