【FileMaker】既存のウィンドウは一つだけ表示したい、をもっと簡単に

前回は、FileMakerファイルの中で開いているウィンドウを検索して、既存ウィンドウの表示をコントロールしましたが、もっと簡単な方法が、今回の記事になります。

エラー処理 [ オン ]
変数を設定 [ $windowname ; 値: GetValue ( Get(スクリプト引数) ; 1 ) ] 
変数を設定 [ $windowlayout ; 値: GetValue ( Get(スクリプト引数) ; 2 ) ] 
ウインドウを選択 [ 名前: $windowname ; 現在のファイル ] 
If [ Get(最終エラー) = 112 or Get(レイアウト名) ≠ $windowlayout] 
    新規ウインドウ [ スタイル: ドキュメント ; 名前: $windowname ; 使用するレイアウト: $windowlayout ] 
End If

前回と違うところは、全てのウィンドウ情報を取得していないというところになります。

エラーを覚悟でウィンドウを選択してみたら、なかった(エラーが112で返ってきた)ので、新規ウィンドウで開いたよ、ということになります。

スッキリ書くなら今回のスクリプトでしょうか。
他にも書き方があるかもしれませんが、今回は簡単実装でお届けしましたー!

追記

指定されたウィンドウは開いていたけれど、レイアウトが違かった、、、ということもあるので、If文にレイアウトのチェックを入れました。
この現象が起こる原因は、新規ウィンドウを開いた時に、ウィンドウ名を新たに付け直していない、ということが挙げられます。
新規ウィンドウを開く際のウィンドウ名の設定、もしくは、後付けで「ウィンドウタイトルの設定」はセットで行うと、間違いがなくなると思います。