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);