LoginSignup
3
2

More than 1 year has passed since last update.

【FileMaker】限りある文字フィールドでなんとなくうまく納める

Last updated at Posted at 2021-07-28

Excelなどでは、セル内に文字を納められるようになっていますが、FileMakerでもそれっぽくできます。

Excelの場合

Excelでは、セルの設定でセル内に入力された文字列などを収められます。
スクリーンショット 2021-07-28 13.34.15.png
この設定で、ちょっとセルの枠に収まらない文字列を入れてみると、小さくセル内に収まります。
スクリーンショット 2021-07-28 13.34.49.png

FileMakerの場合

FileMakerの場合は、TextSize(ver.7.0以上)という関数で指定できます。
スクリーンショット 2021-07-28 13.39.45.png
このケースでは、10文字ごとにテキストサイズを変化させています。
フィールド(セル)を動的に変化させることはできませんが、すでにレイアウトに設置しているフィールドに合わせて文字のサイズを変えています。
文字数が30を超えるようであれば、デフォルトで12ポイントにしています。

どこで設定するか?

このサンプルのようにフィールドの設定で計算式に指定してもいいですし、スクリプト内の変数の式、また、レイアウトのパーツとして設定してもOKです。

表示を確認する

では、この計算式を実行してみましょう。

0〜10文字の場合

36ポイントで表示されます。
スクリーンショット 2021-07-28 13.45.41.png

11〜20文字の場合

24ポイントで表示されます。
スクリーンショット 2021-07-28 13.45.49.png

21〜30文字の場合

18ポイントで表示されます。
スクリーンショット 2021-07-28 13.45.56.png

31文字〜の場合

case文でいうところのどの条件にも当てはまらないので、12ポイントで表示されます。
スクリーンショット 2021-07-28 13.46.02.png

Excelと違うところ

Excelでは、どんなに長い文章でも指定されてセルの幅に合わせて文字列を表示しますが、FileMakerの場合は、表示する文字数に応じて文字ポイントの計算をする必要があります。
フィールドの幅や高さを考慮して、何文字入るか、というのをあらかじめ考慮しておかなければ、むちゃくちゃ長い文字列だと表示しているフィールドに入りきらない、ということになります。

ちょっと応用した使い方

ボタンバーツール

ボタンバーで、それぞれのボタン名の長さが違うけれど同じ幅で収めたい、という時に使えたりします。
ボタンバーツールのボタン名の部分で計算式を設定するやり方です。
スクリーンショット 2021-07-28 13.52.54.png
それぞれを設定して表示すると、以下のようになります。
スクリーンショット 2021-07-28 13.55.41.png

スクリーンショット 2021-07-28 13.55.48.png

スクリーンショット 2021-07-28 13.55.55.png

スクリーンショット 2021-07-28 13.56.03.png

タブ名

タブコントロールのタブ名にも計算式は使えるので、ここでも指定できます。
スクリーンショット 2021-07-28 14.07.16.png

必要に応じて、タブ名のパディングの幅も調整します。
スクリーンショット 2021-07-28 14.07.30.png

では、どういうふうに見えるのでしょうか?
〜10文字
スクリーンショット 2021-07-28 14.07.40.png

11文字〜20文字
スクリーンショット 2021-07-28 14.07.46.png

21文字〜30文字
スクリーンショット 2021-07-28 14.07.52.png

31文字以上
スクリーンショット 2021-07-28 14.08.00.png
長すぎると、もはやタブの役目を果たしませんね。

いろいろなところで試してください〜

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2