カスタムメニューを使ってみよう
2022年08月09日 10:00 AM
ファイルメーカーのTips
Claris FileMaker ではキーボードショートカットを使用して多くのタスクを実行できます。
大変便利な機能ですが、手軽に使えてしまうためユーザーが意図せず操作してしまう、というアクシデントも起こりえます。
例えばショートカットCtrl+D ( Macでは command+D ) で意図せずレコードが複製されてしまった、ということはないでしょうか?
これを避けるにはカスタムメニューの使用が有効です。
カスタムメニューを使えばメニューから特定の機能を外したり、キーボードショートカットを無効にすることができます。
今回は
[レコード] のメニューに [レコード複製] がないカスタムメニューセット
を作成してみましょう。
※カスタムメニューの作成には「高度なツールを使用する」の設定をし、完全アクセス権をもったアカウントで作業することが必要になります。
( [編集] > [環境設定] >「高度なツールを使用する」にチェック後FileMakerを再起動)

■作業前に確認
まずは用語を確認しましょう。
・メニュー項目 = [新規レコード] [レコード複製] などの各コマンド
・メニュー = メニューバーに表示されている [ファイル] [編集] [レコード] など
・メニューセット = メニューバーに表示されている [ファイル] [編集] [レコード] などのメニューの組み合わせ

次に作成の順番を確認しましょう。
- カスタムメニューを作成(メニュー項目をカスタマイズ)
- 作成したカスタムメニューを複数選択してカスタムメニューセットを作成
では実際に作成していきましょう。
■カスタムメニューの作成
[ファイル] > [管理] > [カスタムメニュー] でカスタムメニューの管理ダイアログボックスを開きます。

[カスタムメニュー] タブを開き「作成」ボタンをクリックします。

「FileMakerの標準メニューから作成する」にチェックをつけ「OK」をクリックします。

[FileMaker Pro] の標準メニューから作成した場合、メニュー名はデフォルトで「FileMaker Pro コピー」となります。今回は「FileMaker Pro_TEST」に名前を変えましょう。
レコード複製の機能以外は標準の機能と同じにするので、名前以外は何も変えずにこのまま「OK」をクリックします。

同じように [ファイル] から [編集] までの他の標準機能も上から順番にコピーして作成します。( [書式] [スクリプト] [ウインドウ] は「FileMaker Pro の標準メニューから作成する」には表示がされないのでカスタマイズできませんが、後のカスタムメニューセット作成時にメニューとして追加できます。)
[レコード] のメニューはコピー後「レコード_TEST」に名前を変更し、メニュー項目の設定を変更していきます。
左下の「メニュー項目」から [レコード複製] の項目を選びます。
選択後、下の「削除」ボタンをクリックして [レコード複製] の項目を完全に消してしまってもよいのですが、今回は右下の「インストールの条件」を設定します。(1=このメニュー項目を使える 0=メニュー項目を使えない デフォルトでは1)
[レコード複製] は常時必要ない(=インストールしない)ので「0」を入力します。「削除」してしまうと再度そのメニュー項目を使いたくなった時に再設定が大変ですが、このやり方だと「インストールの条件」を「1」に変更するだけで再び使えるようになるので大変便利です。
設定が終わったら「OK」を押して編集を終了します。

全ての標準のメニューをコピーし名前を変更できたらカスタムメニューの作成は終わりです。
■カスタムメニューセットの作成
次にカスタムメニューをグルーピングしたカスタムメニューセットを作ります。
[カスタムメニューセット] タブで「作成」をクリックします。

今回はメニューセット名を「TEST」とします。左下の「追加」ボタンをクリックします。

先ほど作った「_TEST」を後ろに付けたカスタムメニューと [書式] [スクリプト] [ウインドウ] を選択します。今回は、標準メニューと同じ順番に設定したいと思いますので、メニュー名の左横の上下矢印を使って順番を入れ替えます。( [FileMaker Pro] [ヘルプ] の位置は変えることができません。)順番を変更したら「OK」をクリックします。

これで [レコード複製] メニュー項目のみ使用することのできないカスタムメニューセット「TEST」が完成しました。
■カスタムメニューセットの切り替え方法
作成したカスタムメニューセットを使ってみましょう。メニューセットを切り替える方法はいくつかあります。
- ファイルのデフォルトメニューセットに設定(カスタムメニューの管理ダイアログボックスで設定)
- レイアウト設定のデフォルトのメニューセットに設定
- メニューセットをメニューの [ツール] > [カスタムメニュー] から切り替える
- スクリプトステップ [カスタムメニューのインストール] を使用
今回は1の「ファイルのデフォルトメニューセットに設定」を行ってみます。
カスタムメニューの管理ダイアログボックス( [ファイル] > [管理] > [カスタムメニュー] )の一番下には「このファイルのデフォルトのメニューセット」の欄があります。ここを今回作成した「TEST」に設定します。

いったんファイルを閉じ、再び開いてみるとメニューはカスタムメニューセットの「TEST」が適用され、レコードメニューには [レコード複製] の項目がないことが分かります。ステータスツールバーに複製のアイコンが表示されている場合はグレーアウトしており使用することはできません。またショートカットキー Ctrl+D ( Macでは command+D ) を使っても複製されないのが確認できます。

2、3の方法についても簡単にご説明します。
・レイアウト設定のデフォルトのメニューセットに設定
・メニューセットをメニューの [ツール] > [カスタムメニュー] から切り替える
の場合は下図のとおり設定を行います。

他にも [対象レコード削除] [フィールド内容の全置換] などユーザーには行ってほしくない動作があればカスタムメニューでインストールをしないように設定してみるのもよいでしょう。
画面上のボタンのみで操作させたいので、メニューに表示するものは最低限にする、という手もあるのですが、例えば [編集] がメニューセットにないと[コピー] [ペースト]までできなくなり使いづらいカスタムAppになってしまいます。
どのメニュー項目を使えないようにするのか、しっかり計画してカスタムメニューを活用していきましょう。