ユーザー入力(部品ID、テスト日、テスト制限、ファイル形式など)を受け取り、(入力されたパラメーターのデータベースから)テストデータをロードし、グラフなどをプロットしてからすべてを渡す一連の動作するJSLスクリプトがありますそれらはジャーナルに保存され、PDF として保存されます (テスト データはユーザー指定のファイル形式で保存されます)。 現在、これは特定の 1 セットのユーザー入力 (パーツ ID、テスト日、テスト制限、ファイル形式など) に対してのみ機能します。 partID が変更されても、他のユーザー入力パラメーターは通常同じままです。
このビューで、フローがあるスクリプトを変更したいと思います
- パーツ ID で構成されるリスト (Excel スプレッドシートなど) は、ダイアログ ボックス ([ファイル] --> [開く] -->) を介して読み込まれます。
- ユーザーがボタン、たとえば「OK」ボタンを押すと、パーツ ID がスプレッドシートから 1 つずつ取得され、JMP が作業を行い、PDF (およびデータ ファイル) をユーザーが指定した場所に保存し、最後まで次のパーツ ID に移動します。リストの。
- 操作中はプログレスバーが表示されます。
通常、私は for ループの下でそのようなことを行いますが、最近 JMP を学んだばかりなので、自分で作成するのではなく、使用できる関数が既に存在するかどうか疑問に思っていました。
Excel ファイルを参照し、それをロードして各行 (最初の列) および既存の操作を実行するためのダイアログ ボックスを作成するための JSL スクリプトの簡単な例を要求できますか?これで始められるはずです(ステータスバーは次の反復で表示される可能性があります)。
ありがとう。
以下はあなたを助けるはずのいくつかの機能です:
- 使用ファイルを選択()変数へのファイルパスを取得する
- 使用dt = 開く()パスを開き(Excelファイルが複雑な場合は、適切なソーススクリプトを取得するためにインタラクティブオプションで最初に開く必要がある場合があります)、変数dtへの参照を保存します
- JMPが持つ多くのオプションのいくつかを使用して、最初の列から変数への値を取得します。 以下にいくつかのオプションを示します。予測重複する値がないこと:
- var_list = dt[0,1] ;
- var_list = Column(dt,1) << 値を取得;
- JMP16の場合は使用For Each()リストをループします。 JMP16以前のバージョンを使用する場合ためにループ。
- ループ内で操作を実行する
- でデータテーブルを閉じます閉じる (dt、nosave)
- JMPも閉じたい場合は、終了(保存しない)
[OK] (および [キャンセル]) ボタンのあるユーザー インターフェイスを取得するには、以下をご覧ください。新しい窓()と<< モーダル