Ich habe eine Reihe funktionierender JSL-Skripte, die Benutzereingaben entgegennehmen (Teile-ID, Testdatum, Testgrenzen, Dateiformat usw.), die Testdaten (aus einer Datenbank für die eingegebenen Parameter) laden, die Diagramme zeichnen usw. und dann alle übergeben sie in ein Journal, das dann als PDF gespeichert wird (während die Testdaten in einem benutzerdefinierten Dateiformat gespeichert werden). Derzeit funktioniert dies nur für einen bestimmten Satz von Benutzereingaben (Teile-ID, Testdatum, Testgrenzen, Dateiformat usw.). Wenn sich die PartIDs ändern, bleiben die anderen Benutzereingabeparameter normalerweise gleich.
In dieser Ansicht möchte ich mein Skript ändern, wo der Fluss ist
- Über ein Dialogfenster (über Datei -->Öffnen-->) wird eine Liste, zB eine Excel-Tabelle, bestehend aus Teile-IDs geladen.
- Der Benutzer drückt eine Schaltfläche, beispielsweise eine OK-Schaltfläche, und die Teile-IDs werden nacheinander aus der Tabelle übernommen, und JMP erledigt seine Arbeit, speichert die PDF-Datei (und die Datendatei) am vom Benutzer angegebenen Ort und fährt bis zum Ende mit der nächsten Teile-ID fort der Liste.
- Während die Vorgänge ausgeführt werden, wird ein Fortschrittsbalken angezeigt.
Normalerweise würde ich so etwas unter einer for-Schleife machen, aber da ich erst kürzlich JMP gelernt habe, habe ich mich gefragt, ob es bereits Funktionen gibt, die ich verwenden könnte, anstatt meine eigenen zu schreiben?
Kann ich ein einfaches Beispiel für ein JSL-Skript zum Erstellen eines Dialogfelds zum Durchsuchen einer Excel-Datei, zum Laden und Ausführen von Vorgängen für jede Zeile (der ersten Spalte) und für vorhandene anfordern?Dies sollte mir den Einstieg erleichtern (Statusleiste kann in der nächsten Iteration erscheinen)
Danke.
Nachfolgend einige Funktionen, die Ihnen dabei helfen sollen:
- Benutzen Datei auswählen() um den Dateipfad in die Variable zu bekommen
- Benutzen dt = Öffnen() um den Pfad zu öffnen (muss möglicherweise zuerst mit der interaktiven Option geöffnet werden, um das richtige Quellskript zu erhalten, wenn die Excel-Datei kompliziert ist) und den Verweis auf die Variable dt speichern
- Holen Sie sich die Werte aus der ersten Spalte in eine Variable mit einigen der vielen Optionen, die JMP bietet. Unten sind einige Optionen, mit der Annahme dass es keine doppelten Werte gibt:
- var_list = dt[0,1] ;
- var_list = Column(dt,1) << Werte abrufen ;
- Wenn JMP16, verwenden Sie Für jede() um die Liste zu durchlaufen. Wenn Version vor JMP16 verwendet wird Für Schleife.
- Führen Sie Operationen innerhalb der Schleife aus
- Datentabelle schließen mit Schließen (dt, nosave)
- Wenn Sie auch JMP schließen möchten, können Sie verwenden Beenden (kein Speichern)
Um eine Benutzeroberfläche mit der Schaltfläche OK (und Abbrechen) zu erhalten, werfen Sie einen Blick auf Neues Fenster() mit << modal