前回は、FileMakerファイルの中で開いているウィンドウを検索して、既存ウィンドウの表示をコントロールしましたが、もっと簡単な方法が、今回の記事になります。
エラー処理 [ オン ]
変数を設定 [ $windowname ; 値: GetValue ( Get(スクリプト引数) ; 1 ) ]
変数を設定 [ $windowlayout ; 値: GetValue ( Get(スクリプト引数) ; 2 ) ]
ウインドウを選択 [ 名前: $windowname ; 現在のファイル ]
If [ Get(最終エラー) = 112 or Get(レイアウト名) ≠ $windowlayout]
新規ウインドウ [ スタイル: ドキュメント ; 名前: $windowname ; 使用するレイアウト: $windowlayout ]
End If
前回と違うところは、全てのウィンドウ情報を取得していないというところになります。
エラーを覚悟でウィンドウを選択してみたら、なかった(エラーが112で返ってきた)ので、新規ウィンドウで開いたよ、ということになります。
スッキリ書くなら今回のスクリプトでしょうか。
他にも書き方があるかもしれませんが、今回は簡単実装でお届けしましたー!
追記
指定されたウィンドウは開いていたけれど、レイアウトが違かった、、、ということもあるので、If文にレイアウトのチェックを入れました。
この現象が起こる原因は、新規ウィンドウを開いた時に、ウィンドウ名を新たに付け直していない、ということが挙げられます。
新規ウィンドウを開く際のウィンドウ名の設定、もしくは、後付けで「ウィンドウタイトルの設定」はセットで行うと、間違いがなくなると思います。