Claris FileMaker コピー&ペーストで「書式を取り除いてペースト」するには?

2022年09月29日 11:00 AM

ファイルメーカーのTips


Claris FileMaker のカスタムAppを使っていて、サイトや他のアプリケーション・ファイル等からコピー&ペーストしたときに書式が変わってしまって困る、ということはありませんか?

入力画面だけであればそれほど影響は無いかもしれませんが、他レイアウトで、そこだけ文字が大きかったり、太字になっていたり、といったことが起きてしまいます。

まずは、ちょっと困った例をご紹介しましょう。

下図は、ラベル印刷用レイアウトのレイアウトモードの状態です。

ラベルの文字は、フォント:MSPゴシック、文字サイズ:12pt で設定されています。

カスタム App と違う書式で設定された値は、レイアウトで設定された書式にならず、元の書式が残ってしまいます。下図は、ラベル印刷用レイアウトのプレビューモードです。左の会社名のフォントや文字サイズが違っています。これほど目立つものでなければ、印刷しないと気づかないこともあるでしょう。その場合は、印刷し直しなど余計な手間もかかってしまいますね。

今回は、この問題を簡単に解決できる4つの方法をご紹介したいと思います。

1)[編集] メニュー > [元に戻す] を使う

2)ショートカットキーを使う

3)フィールドに計算値自動入力を設定

4)カスタムメニューに設定

1)[編集] メニュー > [元に戻す] を使う

ペースト後、対象のフィールドにカーソルが入っている状態で、[編集] メニュー から [元に戻す(U) 書式] を選択、もしくはショートカットキー Windowsの場合はCtrl + Z、Macの場合はcommand + Z を押します。そうするとコピー元の書式が取り除かれます。

ただし、いったん別フィールドにカーソルを移動したりすると、このメニューを利用することができません。ペースト後すぐに実行する必要がありますので、その点だけご注意ください。

また、書式が設定されていない場合は「ペースト」作業自体を元に戻すことになるので、値がペースト前の状態に戻ってしまいます。

この場合、メニューの文言も [元に戻す(U) 書式] ではなく、[元に戻す(U) 貼り付け] となります。

2)ショートカットキーを使う

Windowsの場合、ペースト時にCtrl + Shift + Vを押すと、書式を取り除いてペーストができます。

Macの場合は、command + shift + option + V です。

3)対象フィールドに計算値自動入力を設定

FileMakerの関数に「書式設定関数」があり、その中に書式を取り除く関数がありますので、それらを利用します。

FileMakerのヘルプに以下のように記載されています。(詳細はヘルプをご確認ください。)

・TextFontRemove

 指定されたテキストからすべてのフォントまたは削除対象フォントを取り除きます。

・TextSizeRemove

テキストのすべてのフォントサイズ、または削除対象サイズで指定されたフォントサイズを取り除きます。

・TextColorRemove

指定したテキストのすべての文字色、または RGB 関数で指定された文字色を取り除きます。

・TextStyleRemove

1 回の操作で指定されたスタイルをテキストから取り除きます。

・TextFormatRemove

1 回の操作ですべてのテキスト書式を指定したテキストから取り除きます。

上記の関数を使用して、対象フィールドのオプション「入力値の自動化」タブの「計算値」にチェックを付け、計算式を設定します。

今回はすべての書式を取り除きますので以下の計算式にします。

TextFormatRemove ( Self )

そして、「フィールドに既存の値が存在する場合は置き換えない」のチェックを外します。

ただし、この設定を行うと、コピー&ペーストの時だけでなく、ユーザーがあえて文字色やスタイルを変更した場合も元に戻ってしまいます。

用途に応じて、ご紹介した関数を組み合わせた計算式にしてみるのもよいでしょう。

4)カスタムメニューに設定

カスタムメニューの [貼り付け] コマンドに、「書式を取り除いてペーストする」スクリプトを設定する方法です。

カスタムメニューの作成方法は以下のブログに記載がありますのでご参照ください。

カスタムメニューを使ってみよう – YWCのFileMaker(ファイルメーカー)情報

まず、スクリプトを作成します。

ステップは「貼り付け」のみで、「スタイルなしの貼り付け」オプションにチェックを付けます。

このスクリプトを下図のように、カスタムメニューの[貼り付け]コマンドに設定します。

これで、[編集] メニュー > [貼り付け] を選んでも、ショートカットキー Ctrl + V( Macの場合はcommand + V )を使っても、書式を取り除いた値がペーストされます。

少し手間はかかりますが、ユーザーが意識せず、ペーストの操作も変えずに実現できるというところが良いと思います。

いかがでしたでしょうか。

1)2)は設定することが何もないので簡単に実現できますが、以下の懸念点は残ります。

・ユーザーが「元に戻す」操作を忘れてしまう

・毎回3つ以上のキーを押すのが面倒だし、うっかりCtrl + V( Macの場合はcommand + V )を使ってしまう

3)は、目立つように赤字にしておきたい、といった操作をしたい時には不便です。しかし逆に、ユーザーにそういった操作をさせたくない、という場合にはこの方法がよいかもしれません。

4)はコピー&ペースト時のみの対応なので、ユーザーがあえて書式を設定したいという場合にも対応できます。

実現したい内容や使用頻度などを考慮して、ご活用いただければ幸いです。