回复:如何添加一个按钮来打开另一个文件夹中的脚本。这可能会有所帮助:尝试使用“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)))
回复:如何添加一个按钮来打开另一个文件夹中的脚本。你好@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/*###*/
非常感谢您提供的任何建议,谢谢!
自动化和脚本编写内容组织数据存取视窗