こんにちは zuzuです。
今回はFileMakerの備忘録です。
さっそくですが、エクセルなど他のソフトからFileMakerにコピペしたときに、フォントまで引き継いでしまい文字が崩れてしまった経験ありませんか?
それを改善する方法として
- 「Ctrl」+「Shift」+「V」
- フィールドにTextFormatRemoveやTextFontRemoveを計算値で設定
- スクリプトを作成しスクリプトトリガで設定
などあると思います。
次に上記方法をそれぞれ説明します。
・「Ctrl」+「Shift」+「V」
こちらはそのままの方法です。
コピーした後に貼り付けたい箇所にカーソルをいれて 「Ctrl」+「Shift」+「V」 で貼り付けするだけです。
・フィールドにTextFormatRemoveやTextFontRemoveを計算値で設定
これらはフィールドの計算値にTextFormatRemove(Self)や TextFontRemove (Self) と設定すれば貼り付けしたときにフォントがクリアされます。
- TextFormatRemove:1 回の操作ですべてのテキスト書式を指定したテキストから取り除きます。
- TextFontRemove :テキストのすべてのフォント、またはフォント名、またはフォント名およびフォントスクリプトの組み合わせで指定されたフォントを削除します。
https://help.claris.com/ja/pro-help/content/functions-reference.html
・スクリプトを作成しスクリプトトリガで設定
作成する方で様々な方法があると思いますが、今回自分が作成したスクリプトをご紹介します。
使用する関数
- Get(アクティブフィールド名) :フォーカスがあるフィールドの名前を返します。
- Get ( アクティブフィールドテーブル名 ):フォーカスがあるフィールドを含むテーブルオカレンスの名前を返します。
- TextFormatRemove:1 回の操作ですべてのテキスト書式を指定したテキストから取り除きます。
- GetField:フィールド名を評価して、指定したフィールドの内容を返します。
https://help.claris.com/ja/pro-help/content/functions-reference.html
使用するスクリプトステップ
- フィールドを名前で設定
で下記計算を設定します。
ターゲットフィールドの指定の計算が
Get ( アクティブフィールドテーブル名 ) &”::”&Get ( アクティブフィールド名 )
計算結果が
TextFormatRemove ( GetField ( Get ( アクティブフィールドテーブル名 )&”::”&Get ( アクティブフィールド名 )))
です。
作成したら、対象のフィールドのスクリプトトリガのOnObjectSavaに設定します。
すでにトリガに設定してあればそのスクリプトにサブスクリプトとして追加してもいいかもしれません。
まとめ
最後のスクリプトが個人的にはおすすめですね。 Get (アクティブフィールドテーブル名)や Get ( アクティブフィールド名 ) を変数で設定するとさらに簡略化できます。
みなさんの参考になれば幸いです。