rapport masqué indésirable généré lors de l'enregistrement du journal au format PDFJ'utilise des scripts qui mettent de nombreux graphiques dans un journal, puis enregistrez le journal au format pdf et fermez-le. Les rapports peuvent devenir assez volumineux et je répète l'opération plusieurs fois.
Ci-dessous la partie du script que j'utilise pour enregistrer le journal actuel au format pdf.
myjrn = Journal actuel ();
myjrn << Enregistrer le PDF ("MonFichier.pdf", Afficher la mise en page (0));
Je me rends compte récemment dans JMP15 que lorsque la dernière ligne est exécutée, un rapport caché est également produit dans Window List, qui semble être une copie du journal.
Mon script ferme alors le journal.
myrn << closewindow (1);
Mais le rapport caché reste ouvert. Si je continue d'exécuter de nombreux scripts, je finis par manquer de mémoire.
@martindemel : Comment fermer ce rapport masqué?
ScriptingRe: rapport masqué indésirable généré lors de l'enregistrement du journal au format PDFLe problème pourrait être le même qu'ici JSL: envoyer l'analyse au journal, puis enregistrer le PDF . Il semble que JMP ne vous autorise pas à enregistrer le journal au format PDF. Il semble donc que lorsque vous exécutez << Enregistrer le PDF, il convertira d'abord le journal en rapport et ce rapport est la fenêtre masquée.
Je ne sais pas si vous pouvez obtenir une référence à ce rapport qui est généré, mais vous pouvez obtenir toutes les fenêtres ouvertes avant d'exécuter << Enregistrer le PDF, puis après l'avoir enregistré, réexécutez-le et fermez la fenêtre "extra".
Re: rapport masqué indésirable généré lors de l'enregistrement du journal au format PDFVoici ce dont vous avez besoin:
- Le rapport invisible est généré invisible, mais ce sera la dernière fenêtre créée
- Utilisation de «Get Window List ()» combiné avec «Get Window Title»
windowList = Get Window List()<< Get Window Title();
vous verrez les titres de la fenêtre et le rapport: Untitled # sera la dernière entrée.
- Avec cette connaissance et en supposant que vous n'ajoutez pas de fenêtres supplémentaires entre les deux, vous pouvez fermer cette fenêtre en utilisant
Window(windowList[N Items(windowList)]) << close window;
- Votre script devrait alors ressembler à ceci:
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;
Bien sûr, vous pourriez être encore plus intelligent et vérifier n'importe quel titre de fenêtre avec «Rapport: Sans titre…» dans le nom et fermer ces derniers. Mais c'est une autre histoire:smiling_face_with_smiling_eyes:
Une autre alternative consiste à utiliser "Current Report". En général, j'essaie de faire référence aux fenêtres explicitement (par exemple à travers des noms que je saisis ou que j'attribue si possible. «Journal actuel» un ou «rapport actuel» ou «tableau de données actuel» ont toujours une chance de se référer à la mauvaise fenêtre / table / rapport au cas où il y aurait des multiples ouverts ou si l'utilisateur aurait le temps de faire quelque chose entre les deux.
Je ne peux pas dire pourquoi le comportement a changé avec JMP 15 mais support@jmp.com peut être en mesure de répondre à cette question.
Tout le meilleur, Martin