ファイルメーカーの使い方を覚えたいあなたの為のブログ【処理を自動化する機能】

2019年01月17日 10:00 AM

FileMaker 17


(最終更新日:2020/3/31)

FileMaker Proの(ファイルメーカー)使い方11回目です。

今回は、「処理を自動化する機能」ということで、
・処理の自動化とは
・スクリプトワークスペースとは
・スクリプトの書き方(試してみましょう)
の3つのテーマに沿って、ご紹介したいと思います。

こちらはシリーズで連載しています。

①データを入力する器を作成する機能 V15V17V18V192024

②データを登録する機能 V15V17V18V19

③データを消去する機能 V15V17V18V19

④データを変更する機能 V15V17V18V19(入力を補助する機能をプラス)

⑤データをインポートする機能 V15V17V18V19

⑥データをエクスポートする機能 V16V17,18V19

⑦データを表示する機能 V16V17,18V19

⑧データを表示する画面を作成する機能 V16V17,18続編(V19)

⑨画面を印刷する機能 V17,18続編(V19)

⑩データを共有する機能 V17,18V19

⑪処理を自動化する機能 V17,18スクリプトトリガ編(V19)  ←今回はここです

⑫セキュリティに関する機能 V17,18FileMakerファイルの暗号化/通信の暗号化(V19)

◇処理の自動化とは

以前「データをインポートする機能」「データをエクスポートする機能」をご紹介しました。もし、毎日データのインポートやエクスポートをする必要がある場合、それがボタンひとつでできたら業務が少し楽になりますよね。
FileMakerでは「スクリプト」を作成することで、様々な処理の自動化が可能となります。難しそう…と感じるかもしれませんが、単純に決まった手順を書き並べていくだけです。
「レコードのインポート」「レコードのエクスポート」といった処理をおこなう部品が既に用意されているので、それを並べていきます。

FileMakerのスクリプトはAccessやExcelのマクロと似ていますが、より簡単に作成できるためハードルは低いと思います。
FileMaker:スクリプト一覧から選ぶだけ!
Access:マクロで実行もできるが、複雑なことを行いたい場合はVisual Basic(VB)の習得が必要
(VBのプロともなれば、一覧から選択するよりも書いたほうが早いということもあるかと思います)

◇スクリプトワークスペースとは

スクリプトを書く画面「スクリプトワークスペース」は、 メニューバーの「スクリプト」→「スクリプトワークスペース」を選択すると表示されます。

スクリプトワークスペースは、左側:スクリプト一覧、真ん中:編集画面、右側:ステップ一覧となっています。
右側のステップをクリックすると、どんな処理ができるのか右下の「説明」に処理内容が表示されます。ダブルクリックで、編集画面にステップが追加されます。

◇スクリプトの書き方(試してみましょう)

スクリプトの作成は、単純に決まった手順を書き並べていくだけです。
手順を書く前に、まず手動であれば、どんな操作をする必要があるのか考えてみると分かりやすいです。
例を挙げて説明していきます。

データの入ったタスク管理システムがあるとします。
このシステムで、「ボタンを押すと、期限が今日のデータをExcelで保存する」機能を実装してみましょう。

〇スクリプトの作成
手動でおこなう場合、どんな操作が必要でしょうか?
「期限が今日のデータに絞り込み、そのデータをエクスポートする」必要があります。
手順をもっと細かくすると、以下の通りになります。
1.検索ボタンを押して、検索モードに切り替える
2.期限に「今日の日付」を入力する
3.検索実行
4.対象のデータをメニューバーの「ファイル」→「レコードの保存/送信」→「Excel」からExcel保存する

ではこれを、スクリプトでおこなってみましょう。
左上の「新規スクリプト」から、新しいスクリプトを作成します。スクリプト名は、処理内容が一目で分かるものに変更しておきましょう。
今回は「本日期限データ_Excel保存」と名付けます。

1.検索ボタンを押して、検索モードに切り替える
まず、「検索モードに切り替え」をします。「検索モードに切り替え」というステップが既に用意されているため、指定します。
今回は検索モードにするだけでなく、その後の処理も自動化することが目的です。[一時停止]のオプションはオフにしておきましょう。

2.期限に「今日の日付」を入力する
値の入力は「フィールド設定」というステップでおこなうことができます。
[ターゲットフィールドの指定]で、どのフィールドに対して値を設定する必要があるのか指定します。
[計算結果]で入力する値を設定します。

今回は、「期限」というフィールドに対して、「今日の日付」を入力します。
そのため[ターゲットフィールドの指定]で「期限」を選択します。

計算結果に「今日の日付」を設定しますが、現在の日付は「Get(日付)」関数で取得することができるので、Get(日付)と入力します。

3.検索実行

4.対象のデータをメニューバーの「ファイル」→「レコードの保存/送信」→「Excel」からExcel保存する
3は「検索実行」、4は「レコードをExcelとして保存」というステップを選択し、これでスクリプトの作成は完了です。
★印がスクリプト名の端に付いているとスクリプトが保存されていない状態です。「ファイル」→「スクリプトの保存」( Ctrl + S ) から保存してください。

〇ボタンからスクリプトを実行
今作成したスクリプトを画面に置かれたボタンから実行するためには、レイアウトにボタンを配置し、作成したスクリプトを指定する必要があります。
右上の「レイアウトの編集」よりレイアウトモードに切り替えます。

画面の適当な箇所にボタンを配置(青枠を選択して作成)し、分かりやすいボタン名を付けます。
「処理」から「スクリプト実行」を選択すると、スクリプト一覧が表示されるため、先ほど作成したスクリプト「本日期限データ_Excel保存」を指定します。
右上の「レイアウトの終了」を押せば、すべての設定は完了となります。

作成したボタンから、スクリプトを実行してみましょう。
画面上のボタンを押すと、任意の名前を付けてExcel保存ができるようになっています。

保存したExcelを確認してみると、期限が本日のデータのみ出力されていることが確認できるかと思います。

このように処理の自動化は簡単にできます。
決して難しいことはありませんので、ぜひ試してみて頂ければと思います。

続編「スクリプトトリガ編」はこちら