初めに
ファイルメーカは様々なインポートに対応していますが、リスト化されたデータ(CSVやXLSX)をテーブルにインポートすることが基本です。本記事では、JSONファイルやXMLファイル等の通常のインポートが不可能なテキストデータをスクリプトから取り込む方法について説明します。
この記事では、デスクトップに保存したALLDATA.JSONというJSONファイルをファイルメーカに取り込む実例を紹介したいと思います。
確認環境:
FILEMAKERバージョン:FileMaker Pro 17 Advanced
OS:WINDOWS10、MACOS 10.14(MOJAVE)
FileMaker Pro 12以降(URLから挿入が使用できるVer)であれば使えると思いますが
動作確認はしていません。
準備
フィールド
ファイルを格納するためのフィールドを追加してください。
本稿では、「JSONデータ」というテキストフィールドを用意しました。
スクリプト
取り込み用のスクリプトを1つ用意してください。
本稿では、「JSONデータ取り込み」というスクリプトを用意しました。
スクリプトの作成
スクリプトステップで「URLから挿入」の処理を追加してください。
設定項目
・フィールドに準備で作成した「JSONデータ」フィールドを割り当てる。
・URLを指定の項目に、fileスキームを使用したURLを指定してください。
※今回の例では、
MACの場合「file:///User/****/Desktop/ALLDATA.JSON」
WINの場合「"file:/" & Get(デスクトップパス) &"ALLDATA.JSON"」
と指定します。
****はユーザ名で読み替えてください。
ちなみにMACではなぜGet(デスクトップパス) を未使用かというと
取得したパス情報にドライブ情報も含まれてしまいfileスキームの指定先として余計な情報が入ってしまうからです。
下画像はWINDOWSの例です。
スクリプトの実行
上で作成したスクリプトを保存し、実行してください。
「JSONデータ」フィールドにALLDATA.JSONのテキスト内容が反映されているかと思います。
あとは、セットされた値を解析して、別のフィールドに値をセットする等の処理を実行すればOKです。
今回の例のようにJSONデータであれば、JSONGetElement(FILEMAKER16以降で使用可能)などを使用して格納したデータから簡易に情報取得することができます。
最後に
ネット上でローカルテキストファイルの取り込みについては記事が発見できませんでしたので記事化してみました。参考になれば幸いです。
なおファイルメーカ18からは、ファイル操作関数が追加されていますので以降のバージョンはそちらを使ってもいいかもしれません。