我一直在使用腳本,將許多圖形放入日記中,然後將日記另存為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也許可以回答這個問題。
祝一切順利,馬丁