JSL を使用した「名前を付けて保存」ポップアップ ダイアログの開始ディレクトリの設定JMPプロ16.1
ボタンをクリックしたときに「名前を付けて保存」ダイアログボックスを表示するスクリプトを作成したいのですが、それが開始されるディレクトリを制御したいと考えています。テーブルを現在の名前で保存したくありません。保存する前にユーザーに名前を変更する機会を与えたいと考えています。
このコードを実行すると:
dtTemp = New Table("Temp");
dtTemp << Save("");</CODE></P><P> </P><P>最後に保存したディレクトリに [名前を付けて保存] ダイアログが表示されます。次のようにディレクトリを強制的に指定しようとすると、次のようになります。</P><P> </P><PRE><CODE class=" language-jsl">dtTemp2 = New Table("Temp2");
dtTemp2 << Save As("$Documents\");
その後、Temp2 テーブルの名前が「.jmp」に変更され、Documents フォルダーに保存されますが、これは役に立ちません。 ユーザーが名前を設定できるダイアログが必要です。
JMPまたはOSがファイルが保存された最後のディレクトリ/パスを保存している変数がどこかにあり、これを上書きしたいのですが、それが見つかりません。いくつかのオプションを試しましたが、どれも適切ではないようです。
path1 = Get Default Directory();
path2 = Get Current Directory();
path3 = Get File Search Path();
Show( path1, path2, path3);
「最後の保存ディレクトリ」がスクリプトとデータテーブル用に別々に保存されているようであることは注目に値します。これにより、私が探しているものがOSではなくJMP内に何らかの形で保存されているのではないかと思われます。
私が欲しいのは次のようなものです:
dtTemp = New Table("Temp");
Set Data Table Save Path ("$DESKTOP\MyDestination");
dtTemp << Save("");何か案は?
コンテンツの構成Re: JSL で「名前を付けて保存」ポップアップ ダイアログの開始ディレクトリを設定するsaveFlag を 1 に変更することで、Pick File のボタン テキストを Open から Save に変更できるとは知りませんでした (試したことはありません)。

saveFlag = 0 の場合、ボタンは Open という名前になり、saveFlag = 1 の場合、ボタンは Save という名前になります。 ファイルは保存されません(パスが返されるだけです)ので、次のように保存する必要があります@ihを示します (返されたパスが空でないことも忘れずに確認してください)。
Re: JSL で「名前を付けて保存」ポップアップ ダイアログの開始ディレクトリを設定する最初に「ファイルを選択」を使用してファイル名を取得し、それから保存することができます。
Names default to here(1);
fn = pick file("Save your file", "$DOCUMENTS", {"JMP Files|jmp;jsl;jrn", "All Files|*"}, 1, 1, "Default Filename.jmp" );
dt << Save (fn);