みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
よろしくお願いします。
ファイルを閉じる(右上の×ボタン)を押した際に、
新規ウィンドウでレイアウトを一定期間表示しそのままアプリケーションを終了するスクリプトを作成し、
ファイルオプション>スクリプトトリガ>onLastWindowCloseに設定しましたが、スクリプトがループしているようでアプリケーションが終了してくれません。
下記設定を見ていただけないでしょうか。
・新規ウィンドウ(スタイル:ダイアログ)
・レイアウト切替()
・ツールバーの表示切り替え(ロック:隠す)
・書式設定バーを許可(オフ)
・ズームの設定(ロック:150%)
・ウィンドウの移動/サイズ変更
・ウィンドウの調整(収まるようにサイズ変更)
・スクリプト一時停止/続行[間隔(秒):10]
・ファイルを閉じる(現在のファイル)
・ウィンドウを閉じる(現在のウィンドウ)
・アプリケーションを終了
こちらの設定でループするのですが、原因を教えていただけないでしょうか。
よろしくお願いいたします。
最後の
・ファイルを閉じる(現在のファイル)
・ウィンドウを閉じる(現在のウィンドウ)
を省いていればいいのでは。
Offline
最後の
・ファイルを閉じる(現在のファイル)
・ウィンドウを閉じる(現在のウィンドウ)
を省いていればいいのでは。
ありがとうございます。
ご指摘通り、設定を変更してみたところ、
ファイルは閉じられますが、ウィンドウだけが残りアプリケーションが終了できません。。
何度もすみません。
ウィンドウだけってことはないんで、そのウィンドウのファイルは閉じてません。
新規ウィンドウが「ダイアログ」だから、ユーザがそれを閉じるまで他の操作はできません。
Offline
最初の
・新規ウィンドウ(スタイル:ダイアログ)
も無しにしましょう。
新規ウィンドウは、どうしても必要ですか。
Offline
If ( IsEmpty ( $$a1b2c3d4 )
変数を設定[$$a1b2c3d4 ; 1]
新規ウィンドウ[スタイル:ダイアログ]
レイアウト切替[]
ツールバーの表示切り替え[ロック:隠す]
書式設定バーを許可[オフ]
ズームの設定[ロック:150%]
ウィンドウの移動/サイズ変更
ウィンドウの調整[収まるようにサイズ変更]
スクリプト一時停止/続行[間隔[秒]:10]
ファイルを閉じる[現在のファイル]
ウィンドウを閉じる[現在のウィンドウ]
アプリケーションを終了
end if
とすれば、そのままで動きます。
Offline
ファイルを閉じる[現在のファイル]
これが実行されると、その後のスクリプトはもうファイルが無いから実行されないんですけど...
If ( IsEmpty ( $$a1b2c3d4 ) 変数を設定[$$a1b2c3d4 ; 1] 新規ウィンドウ[スタイル:ダイアログ] レイアウト切替[] ツールバーの表示切り替え[ロック:隠す] 書式設定バーを許可[オフ] ズームの設定[ロック:150%] ウィンドウの移動/サイズ変更 ウィンドウの調整[収まるようにサイズ変更] スクリプト一時停止/続行[間隔[秒]:10] ファイルを閉じる[現在のファイル] ウィンドウを閉じる[現在のウィンドウ] アプリケーションを終了 end if
とすれば、そのままで動きます。
ありがとうございます。
何とか設定ができました。
最後にお伺いしたいのですが、
「アプリケーションを終了」を設定していますが、
ファイルと新規ウィンドウは閉じられますが、アプリケーションのウィンドウ(ファイル~ヘルプのメニューバーのある枠)は閉じられません。
※現状は右上の「×」を押さないと消えません。
こちらはどうしてでしょうか。。。
何度も申し訳ありませんが、よろしくお願いいたします。
>新規ウィンドウが「ダイアログ」だから、ユーザがそれを閉じるまで他の操作はできません。
全部間違いじゃないけど、スクリプトからウィンドウを閉じたりはできる。開いたままではアプリケーションを終了はできない。(エラー3)
>ファイルと新規ウィンドウは閉じられますが、アプリケーションのウィンドウ(ファイル~ヘルプのメニューバーのある枠)は閉じられません。
さっき書きました。
ファイルを閉じる[現在のファイル]
が実行されると、その後のスクリプトはもうファイルが無いから実行されません。これを取ってください。
実際にはトリガを設定してるので、この時にまた同じスクリプトが先頭から実行されますが、変数で分岐して何もしないようになってる。
LastでなくOnWindowCloseにしてスクリプトの最初を「元ウインドウを隠す」
にするとこのスクリプトもGet ( ウインドウ名 ) = "元ウインドウ名"で条件分岐
できるみたい。
If [ Get ( ウインドウ名 ) = "親ウインドウ名" ]
ウインドウの調整[隠す]
新規ウインドウ [名前: "xxx"; スタイル: ダイアログ]
レイアウト切り替え [レイアウトx]
ツールバーの表示切り替え [隠す]
・・・・・・
・・・・・・
スクリプト一時停止[10sec]
ツールバーの表示切り替え[表示する]
ウインドウを閉じる [名前: "xxx"; 現在のファイル]
アプリケーションを終了
End If
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 525.88 KiB (Peak: 546.41 KiB) ]