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