大家好,
我正在更新一个我一直在研究的脚本,在分析完成后,我想保存报告窗口的图片,然后将脚本保存到数据表中,如果用户愿意,该脚本将打开图像那。 每次分析都会生成一个新的报告图像,我需要将脚本保存到更新文件名的数据表引用中(全部都在同一目录中)。
旁注:我必须将报告保存为图像,因为我有一些在创建报告时引用的临时数据表,并且我不想保存这些数据表 - 尽管将它们保存到数据表脚本中如果有人有解决方案,那也很酷。
不管怎样,我遇到的困难是当新脚本保存到数据表时,它在我的主脚本中写入变量,而不是我想要的字符。 我尝试过 Eval Insert() 和 Eval(Substitute(Expr())) 作为尝试获得该结果的方法,但没有任何效果。
以下是分析的一个此类输出的示例:

分析实际上是创建了另一个数据表,以便构建右下角的GB图像,这个数据表:

但是,当分析结束或用户对另一列执行分析时,该数据表将被删除,并且我不再引用它 - 我尝试使用 <<将所有对象保存到数据的脚本Table 命令,但这需要引用上面的数据表,然后生成图形生成器,但数据表现在已经消失了。
相反,我必须将窗口另存为 png,这没问题,并且应该看起来像上面的第一张图片,但是是 PNG 格式。 我正在执行此操作的脚本中的代码的一次迭代如下:
Button Box( "Save Results to DT",
path = dt << Get Path; //gets the dt's path
l = Length( path ) - Length( dt << GetName ) - 4; // takes off dt name and .jmp extension
dir = Left( path, l ); //actual path where the PNG file is supposed to be saved
If( N Items( Icols ) == 0 & N Items( Xcols ) == 0,
pic_name = "Self_Corr_" || ycols[1] || ".png"; //name of the picture
nwin[Outline Box( 1 )] << Save Picture( dir || pic_name, "png" ); //saves the report window as a PNG to the directory<BR /> full_name=dir||pic_name;
dt << New Script( "Self Corr of " || ycols[1], Open( full_name ) ); // the new script is supposed to substitute the actual dir name and pic_name, not the variables.
);
)
它为数据表创建一个脚本,如下所示:

但是,脚本应该是这样的:

我复制/粘贴了脚本中应包含的内容,以显示我试图让主脚本执行的操作。 这应该是可行的,但我所做的所有尝试都不起作用。
如前所述,我可以将报告另存为 PNG,用户只需在 JMP 中以 PNG 形式打开报告,但如果可能的话,我宁愿将临时数据表保存到 New Script() 中,以便在用户单击脚本,它将生成完整交互能力所需的临时数据表,但我怀疑这会更难。
感谢您的任何意见或建议!
DS