変数を名前で設定FileMakerでファイルを作るときに使う小ネタ・小技、よく使うスクリプトなどがあります。今回は「変数名を計算で作る」です。変数名を計算で作るて何それ?意味あんの?はい。変数名に今表示しているレイアウト名を含ませたいとか。変数の名前を計算で作ることなんて出来るん?「変数を名前で設定」なんてないけど。スクリプトステップで順を追っていきます。変数の名前:まず変数「$変数名」を作成します。作りたい変数名をここで作ります。変数名を名前で作りたいくらいだから計算式を含めるわけですね。変数の名前ですから「$」や「$$」がちゃんと付いていることがポイントです。変数の値:次に変数「$値」を作成します。作りたい変数に入れたい値をここで作ります。変数名を作る変数:もう一つ変数を作ります。こいつが「変数名と値のセット」を作ります。名前は何でもいいので、ここでは「$へんすうづくり」にしておきます。ここからややこしいですよ。$変数名と$値を作りました。$へんすうづくりの値にLet関数を使います。Let関数は変数を定義することができるからです。計算)基本はこんな構文です。変数=値を作ってそれを前提に最後「計算」します。値は△△ですよと宣言しています。○○と書けばLet関数の中だけで通用する変数です。$○○と書けば計算式の外でも変数としてセットされます。いう式を前段に入れれば、グローバル変数としてセットされます。次のようなLet関数を作ることで、さっきの変数名と値が本物になります。計算結果なんか必要ないからです。変数とその値がセットされればいいだけなので。これ、「こういう形」の計算式が必要なんですが、このまま書くと駄目です。「こういう形」じゃなく「この式」として計算されてしまいますから。さっきせっかく作った$変数名が消え失せて「$変数名」になっちまいますね。順序としてLet計算式内の変数名を書くべきところには「$変数名」ではなく、さっき作った実際の値(作りたい変数名)が書かれなければなりませんし、値を書くべきところにはさっき作った実際の値(作りたい変数名の値)が書かれなければなりません。Let式の前に、値を当てはめたLet式の形をしたテキストとして作ってやる必要があるってことです。")"ややこしいですね。$変数名と$値はさっき通り作った値が代入され、Let計算式は式風のテキストです。こいつを、あらためて計算式として実際に計算させます。難関のひとつ、Evaluateを使います。テキストを計算式として認識させるやつです。これが$へんすうづくりの値です。空だし意味ないのですが、その前段で変数をセットしています。目的は達成しているんです。スクリプトステップでちゃんと書くとこうなります。)]使い回せる汎用的な「変数を名前で設定」ということでまとめると手順は以下のとおり。作りたい変数の値を作る$へんすうづくりをコピペLet関数は複数の変数をセットできますから、上記まとめて1つの計算式内で済ませることもできます。スマートそうに思えますがそうではないです。ややこしいし計算式が不細工だし何よりそうやって作ったスクリプトステップには汎用性がなく他で使い回せないからです。手順を踏むことで汎用性を手に入れられます。スクリプトステップとしてちゃんと書くとこうですね。)]この3行をコピペして変数名と値をその都度作ればいいだけで、いつでもどこでも「変数を名前で設定」を使い回せます。「$変数名」と「$値」の名前を変えたいときは$へんすうづくりの中の該当箇所も合わせて変更してください。$へんすうづくりの名前が気に入らない人は好きなカッコいい名前に替えてOK。この変数名は何だっていいんです。この情報の元ネタは昔どなたかの天才的ブログを読んで知ったのですが、当時何を書いているのかさっぱり判らず、理解するのに長い年月が必要でした。長い年月をかけて理解して汎用性の高いものを作れたので、忘れないようにここに書いて復習しておくのです。コメントデータの処理方法の詳細はこちらをご覧ください。[Amazon]執筆者のCDです。