Re: 如何添加一個按鈕來打開另一個文件夾中的腳本。這可能會有所幫助:嘗試使用“include”而不是“open”。
Names Default To Here( 1 );
dir=Get Path Variable( "SAMPLE_SCRIPTS" );
file_name = "chaosGame.jsl";
file_path = Char(Dir || file_name);
show(file_path);
Current Journal() << Append( Button Box("Chaos Game", include (file_path)))
Re: 如何添加一個按鈕來打開另一個文件夾中的腳本。你好@Byron_JMP感謝您的建議,但我仍然遇到同樣的錯誤
Name Unresolved: file_path in access or evaluation of 'file_path' , file_path/*###*/
回复:如何添加一個按鈕來打開另一個文件夾中的腳本。你有一個帶有附加腳本的按鈕框——打開(文件路徑) .將該腳本視為一張紙。現在將點擊按鈕視為啟動一個新的空白 JMP 實例。在這個新實例中,您要求它運行這張紙上的腳本。運行該腳本時,它會找到名稱文件路徑並進行名稱查找。作為一個完全空白的狀態,它不能確定什麼文件路徑應該是這個意思,所以它會拋出一個錯誤。
顯然,這並不是實際發生的情況,但實際情況是,當單擊按鈕時,附加腳本的運行範圍與您創建按鈕時的範圍不同。這適用於所有顯示框腳本。他們不會知道創建顯示框時存在的範圍/變量的任何信息——附加的腳本/函數在一個新的完全獨立的範圍內運行。
一個簡單的解決方法是使用求值( 求值表達式( ... 表達式( ... ) ... ) ) , 像這樣:
LoadTableType = Function( {reportType},
Dir = Get Default Directory();
If(
reportType == "PD",
file_name = "JMP script/Load_PD.jsl";
file_path = Char(Dir || file_name);
Eval( Eval Expr(
Current Journal() << Append( Button Box( "Load PD Table", Open( Expr( file_path ) ) ) )
) )
);
);這會預先評估名稱 file_path,以便腳本看不到名稱,而是看到具有正確路徑的字符串。
如何添加按鈕以打開另一個文件夾中的腳本。大家好,我怎樣才能做到這樣,每當我單擊放在日記中的按鈕時,它就會運行位於另一個文件夾中的腳本。
使用下面的測試腳本我可以成功打開另一個文件夾中的腳本。 這是 JMP16 上的。
Names Default To Here( 1 );
Clear Log();
Dir = Get Default Directory();
file_name = "JMP script/Load_PD.jsl";
file_path = Char(Dir || file_name);
Open(file_path);
使用我製作的測試腳本,我嘗試將其實現到我的主腳本中,如下所示。
下面顯示的腳本只是一個片段。
LoadTableType = Function( {reportType},
Dir = Get Default Directory();
If(
reportType == "PD",
file_name = "JMP script/Load_PD.jsl";
file_path = Char(Dir || file_name);
show(file_path);
Current Journal() << Append( Button Box("Load PD Table", Open (file_path))),
);
);但是,在主代碼完成運行並生成按鈕後,每次單擊按鈕時,我都會收到如下所示的錯誤:
Name Unresolved: file_path in access or evaluation of 'file_path' , file_path/*###*/
非常感謝您提供的任何建議,謝謝!
自動化和腳本編寫內容組織數據存取視窗