Salut à tous, je ne suis pas un nouveau JMP, mais relativement nouveau dans JSL. J'essaie d'écrire un script pour aider à automatiser certaines analyses de données et la sortie de cette analyse.
J'utilise un script JSL parent qui permet aux utilisateurs d'ouvrir des fichiers d'intérêt pour analyse, puis d'effectuer une séquence possible d'analyses, par exemple des distributions, des ajustements de modèles, des ajustements multivariés, bivariés, etc.
J'utilise une fonction générique dans le script pour demander à l'utilisateur de sélectionner dans la liste actuelle des fenêtres (tableaux de données) sur lesquelles effectuer l'analyse. L'utilisateur sélectionnerait un tableau de données pour effectuer, par exemple, une analyse multivariée. Je souhaite que ce script parent dispose également d'un script de bouton qui leur offre la possibilité de sauvegarder ensuite un rapport sélectionné (en appelant à nouveau la fonction de fenêtre de sélection générique). J'ai du mal à prendre la fenêtre de rapport existante, par exemple une analyse multivariée, puis à l'envoyer au format PDF. J'ai essayé d'écrire du code pour obtenir le script à partir de la fenêtre de rapport et de le réexécuter pour l'envoyer à un journal et l'enregistrer au format PDF, mais cela échoue.
Ci-dessous mon script parent :
Names Default To Here( 1 );
choose_data_table = Function( {},
list = {};
For( i = 1, i <= N Table(), i++,
list[i] = Data Table( i ) << get name
);
win = New Window( "Select a data table",
<<MODAL></MODAL>
Voici le script que j'utilise pour essayer d'extraire les données sur un jrn et de les enregistrer au format PDF :
Names Default To Here( 1 );
wlist = Get Window List() << Get Window Title();
choose_window = Function( {},
win = New Window( "Select a Report",
<<MODAL></MODAL>
Et voici l'erreur que j'obtiens :
Send Attend un objet scriptable lors de l'accès ou de l'évaluation de 'Send' , choisi[1] << /*###*/SaveAs() /*###*/
J'ai essayé de nombreuses façons de contourner ce problème, mais d'une manière ou d'une autre, je n'arrive pas à faire en sorte que le script JSL exécute une fonction permettant à l'utilisateur de sélectionner la fenêtre de rapport de son choix et de l'enregistrer ensuite au format PDF (ou PNG, ou JPG, etc. -- selon le souhait de l'utilisateur).
A très bien fonctionné, @gzmorgan0 . Merci!
J'ai modifié le facteur d'échelle en fonction de certaines discussions dans ce fil : https://community.jmp.com/t5/Discussions/Scaling-to-fit-to-page-width/td-p/33952
Désormais, il ajustera la taille du rapport pour l'adapter à la largeur de la page selon les besoins, ce qui est vraiment sympa.
Merci pour l'aide rapide!
Essaye ça:
Names Default To Here( 1 );
wlist = Get Window List() << Get Window Title();
choose_window = Function( {},
win = New Window( "Select a Report",
<<MODAL></MODAL>