我一直在使用脚本,将许多图形放入日记中,然后将日记另存为pdf并关闭。 报告可能会很大,因此我重复了很多次操作。
在脚本部分的下方,我用于将当前日志另存为pdf。
myjrn =当前Journal();
myjrn <<保存PDF(“ MyFile.pdf”,显示页面设置(0));
我最近在JMP15中意识到,执行最后一行时,“窗口列表”中还会生成一个隐藏的报告,这似乎是日记的副本。
然后,我的脚本关闭日记帐。
myrn << closewindow(1);
但是隐藏的报告仍处于打开状态。 如果我继续运行许多脚本,我最终将耗尽内存。
@martindemel :如何关闭此隐藏的报告?
问题可能与这里相同JSL:将分析发送到日记,然后保存PDF 。 似乎JMP不允许您将日记另存为PDF。 因此,当您运行<< <<保存PDF时,它将首先将日记转换为报表,而该报表是隐藏的窗口。
不知道是否可以参考生成的此报告,但是可以在运行<<保存PDF之前保存所有打开的窗口,然后在保存后再次运行它,然后关闭“额外”窗口。
这是您需要的:
- 看不见的报告生成为不可见,但它将是最后创建的窗口
- 结合使用“获取窗口列表()”和“获取窗口标题”
windowList = Get Window List()<< Get Window Title();
您将看到窗口的标题并看到报告:Untitled#将是最后一个条目。
- 有了这些知识,并假设您没有在其间添加其他窗口,则可以使用以下方法关闭该窗口
Window(windowList[N Items(windowList)]) << close window;
myjrn = Current Journal();
myjrn << Set page setup( margins( 0.75, 0.75, 0.75, 0.75 ), scale( 0.65 ), portrait( 1 ), paper size( "A4" ) );
myjrn << Set Print Headers( "My Header", "", "Page &pn; of &pc;" );
myjrn << Save PDF( "MyFile.pdf", Show Page Setup( 0 ) );
myjrn << close window; // in case you want the journal closed
windowList = Get Window List()<< Get Window Title();
Window(windowList[N Items(windowList)]) << close window;
当然,您甚至可以变得更聪明,并使用名称中的“ Report:Untitled…”检查任何窗口标题,然后将其关闭。 但这是另一个故事:smiling_face_with_smiling_eyes:
另一种选择是使用“当前报告”。 通常,我尝试显式地引用Windows(例如,如果可能的话,通过我抓取的名称或分配的名称)。 万一打开多个或用户有时间在两者之间进行操作,“当前日志”或“当前报告”或“当前数据表”总是有机会引用错误的窗口/表/报告。
我无法说出为什么JMP 15会改变行为,但是support@jmp.com也许可以回答这个问题。
祝一切顺利,马丁