J'ai un ensemble de scripts JSL fonctionnels qui prennent les entrées de l'utilisateur (ID de pièce, date de test, limites de test, format de fichier, etc.), chargent les données de test (à partir d'une base de données pour les paramètres saisis), tracent les graphiques, etc. dans un journal qui est ensuite enregistré au format PDF (tandis que les données de test sont enregistrées dans le format de fichier spécifié par l'utilisateur). Actuellement, cela ne fonctionne que pour un ensemble donné d'entrées utilisateur (ID de pièce, date de test, limites de test, format de fichier, etc.). Lorsque les ID de pièce changent, les autres paramètres d'entrée utilisateur restent généralement les mêmes.
Dans cette vue, je voudrais changer mon script où le flux est
- Une liste, par exemple une feuille de calcul Excel, composée d'ID de pièces est chargée via une boîte de dialogue (via Fichier -->Ouvrir-->).
- L'utilisateur appuie sur un bouton, disons un bouton OK et un par un, les ID de pièce sont extraits de la feuille de calcul et JMP fait son travail, enregistre le PDF (et le fichier de données) à l'emplacement spécifié par l'utilisateur et passe à l'ID de pièce suivant jusqu'à la fin de la liste.
- Une barre de progression s'affiche pendant que les opérations sont en cours.
Normalement, je ferais une telle chose sous une boucle for mais comme je n'ai appris que récemment JMP, je me demandais s'il y avait des fonctions déjà existantes que je pourrais utiliser plutôt que d'écrire les miennes ?
Puis-je demander un exemple simple de script JSL pour créer une boîte de dialogue permettant de parcourir un fichier Excel, de le charger et d'effectuer une opération sur chaque ligne (de la première colonne) et existante.Cela devrait me permettre de démarrer (la barre d'état peut apparaître dans la prochaine itération)
Merci.
Voici quelques fonctions qui devraient vous aider :
- Utiliser Choisissez le fichier() pour obtenir le chemin du fichier vers la variable
- Utiliser dt = Ouvrir() pour ouvrir le chemin (il faudra peut-être d'abord ouvrir avec l'option interactive pour obtenir le bon script source si le fichier Excel est compliqué) et enregistrer la référence à la variable dt
- Obtenez les valeurs de la première colonne dans une variable avec certaines des nombreuses options dont dispose JMP. Vous trouverez ci-dessous quelques options, avec le supposition qu'il n'y a pas de valeurs en double :
- var_list = dt[0,1] ;
- var_list = Colonne(dt,1) << obtenir les valeurs ;
- Si JMP16, utilisez Pour chaque() pour boucler sur la liste. Si version avant JMP16 utiliser Pour boucler.
- Effectuer des opérations à l'intérieur de la boucle
- Fermer la table de données avec Fermer(dt, nosave)
- Si vous souhaitez également fermer JMP, vous pouvez utiliser Quitter (pas de sauvegarde)
Pour obtenir l'interface utilisateur avec le bouton OK (et Annuler), jetez un œil à Nouvelle fenetre() avec << modale