「プロジェクト」タブを選択してスクリプトを実行する JSL皆さん、
私はプロジェクトを扱うのが初めてで、JSL で日常的に行っているさまざまなことを達成するのに少し苦労しています。私のプロジェクトには 4 つのデータ テーブルがあり、そのうちの 1 つを選択し、そのデータ テーブルにリストされている特定のスクリプトを実行しようとしています。プロジェクトのヘルプ情報を見ましたが、これを実現する方法がよくわかりません。ご提案/アイデアをいただければ幸いです。
Re: JSL でプロジェクト タブを選択してスクリプトを実行するまた、ブロックごとに個別のスクリプト実行メッセージを作成する必要もありません。 読みやすくするためにそうしただけです。 ただし、何かを開いてすぐにそれにフォーカスを設定しようとしている場合は、wait(0) 呼び出しが必要になる場合があります。そうしないと、タブを前に進めようとするまでにタブの読み込みが完了していない可能性があります。Re: JSL でプロジェクト タブを選択してスクリプトを実行する
@てらぴん書きました:
ダン、
それは簡単でした。各コマンドまたは一連のコマンドに対して Run Script を使用する必要があるとは知りませんでした。
変数をウィンドウ名またはデータ テーブル名として渡すことができることを除いて、非常にうまく機能するようになりました。 JSL を使用して多数のサイトからのデータを処理しており、開いたデータ ファイルからサイト ID を取得し、それを JSL の他の多くのセクションで使用して、データ ファイルを保存、名前変更し、サイト固有のディレクトリに移動します。残念ながら、以下に示すように、変数 stn をウィンドウ名またはデータ テーブル名に渡すことができません。プロジェクトでこれを行うことは可能ですか?可能であれば、それを達成する方法について提案はありますか?
プロジェクト << Run Script( Get Data Table( stn || " Amp_Hr Per Day" ) ); << Run Script( "OP of Parameters w/ PAR" );
プロジェクト << スクリプトの実行 ( Get Window(スタン || 」 Amp_Hr Per Day" ) << ウィンドウを最前面に移動() );
プロジェクトに独自の JSL スコープがあるのは意図的ですが、プロジェクト間で変数を共有しようとすると問題が発生する可能性があります。 そのための 1 つの方法は、Eval/EvalExpr を使用することです。 あまりきれいではありませんが、効果はあります。
win name = "Big Class";
Eval(
Eval Expr(
project << Run Script( Get Window( Expr( win name ) ) << Bring Window To Front() )
)
);
Re: JSL でプロジェクト タブを選択してスクリプトを実行するダン、
それは簡単でした。各コマンドまたは一連のコマンドに対して Run Script を使用する必要があるとは知りませんでした。
変数をウィンドウ名またはデータ テーブル名として渡すことができることを除いて、非常にうまく機能するようになりました。 JSL を使用して多数のサイトからのデータを処理しており、開いたデータ ファイルからサイト ID を取得し、それを JSL の他の多くのセクションで使用して、データ ファイルを保存、名前変更し、サイト固有のディレクトリに移動します。残念ながら、以下に示すように、変数 stn をウィンドウ名またはデータ テーブル名に渡すことができません。プロジェクトでこれを行うことは可能ですか?可能であれば、それを達成する方法について提案はありますか?
プロジェクト << Run Script( Get Data Table( stn || " Amp_Hr Per Day" ) ); << Run Script( "OP of Parameters w/ PAR" );
プロジェクト << スクリプトの実行 ( Get Window(スタン || 」 Amp_Hr Per Day" ) << ウィンドウを最前面に移動() );
Re: JSL でプロジェクト タブを選択してスクリプトを実行するProject << Run Script() を使用して、プロジェクトの外部からプロジェクト内で JSL を実行します。
// 1. Create a project and open two data table in it
p = new Project();
p << Run Script(
Open("$SAMPLE_DATA/Big Class.jmp");
Open("$SAMPLE_DATA/Airline Delays.jmp");
);
// 2. Run the a saved script from each table
p << Run Script(
Get Data Table("Big Class") << Run Script("Distribution");
Get Data Table("Airline Delays") << Run Script("Graph Builder Heatmap");
);
// 3. Optionally, make Big Class the visible tab
wait(0);
p << Run Script(
Get Window("Big Class") << Bring Window To Front();
);
Re: JSL でプロジェクト タブを選択してスクリプトを実行するこんにちは、アーロン
JSL を使用して既存のプロジェクトの外で作業しようとしています。つまり、開いているプロジェクトで、特定のタブを選択し、そのタブに保存されたスクリプトを実行する外部スクリプトを実行したいと考えています。たとえば、Big Class、Abrasion、Bicycle というデータ テーブルがプロジェクトに移動されました (このプロジェクトのアーカイブ バージョンを送信しようとしましたが、「添付ファイルの内容がそのファイル タイプと一致しません」というエラーが表示されました) 場合、次のようにします。プロジェクトの外に保存されている JSL ファイルを使用してプロジェクトを開き、Tab Big Class を選択し、Distribution スクリプトを実行し、Tab Bicycle に切り替えて Fit Model スクリプトを実行します。プロジェクトは問題なく開くことができますが、残りの部分を実行できません。
Re: JSL でプロジェクト タブを選択してスクリプトを実行するごくわずかな例外を除いて、JSL スクリプトはプロジェクト内で以前と同じように機能します。 したがって、必要なことをすでに実行する JSL がある場合は、プロジェクト タブからその JSL を実行するだけで済む可能性が高くなります。 エラーがある場合、または期待どおりに動作しない場合は、それらを解決するお手伝いをいたします。Re: JSL でプロジェクト タブを選択してスクリプトを実行する明確にするために、通常プロジェクト外で JSL で行っていることをプロジェクト内で JSL を使用して行いたいですか、それとも通常 JSL で行っていることをプロジェクト内で gui インターフェースを使用して行いたいですか?