JMP Pro 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 或操作系统正在保存保存文件的最后一个目录/路径,我想覆盖它,但我什至找不到它。我尝试了几种选择,但似乎没有一个是正确的。
path1 = Get Default Directory();
path2 = Get Current Directory();
path3 = Get File Search Path();
Show( path1, path2, path3);
值得注意的是,“最后保存目录”似乎是单独存储脚本和数据表的,这让我认为我正在寻找的内容以某种方式保存在 JMP 中,而不是操作系统中。
我想要的是这样的:
dtTemp = New Table("Temp");
Set Data Table Save Path ("$DESKTOP\MyDestination");
dtTemp << Save("");有任何想法吗?
不知道您可以通过将 saveFlag 更改为 1 将“选择文件”按钮文本从“打开”更改为“保存”(从未尝试过)。

当 saveFlag = 0 时,按钮将被命名为“打开”;当 saveFlag = 1 时,按钮将被命名为“保存”。 它不会保存文件(它只会返回路径),所以你仍然需要像这样保存它@ih演示(还记得检查返回的路径不为空)。
您可以先使用“选择文件”获取文件名,然后保存。
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);