<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちはJMPの達人、
私は現在、JSLスクリプトを起動するためにPerlスクリプトを使用しています。Perlスクリプトは、program filesフォルダーでJMPのデフォルトのインストール場所を探します。私たちの職場では4つの異なるバージョンのJMPが実行されている可能性があるので、最終的に次の実装になりました。
1。の標準バージョンの実行ファイルを起動しようとしています JMP 12 に: C:\ Program Files \ SAS \ JMP \ 12 \ jmp.exe
2。そのファイルが存在しない場合は、プロ版の実行可能ファイルを起動してみます。 JMP 12 に: C:\ Program Files \ SAS \ JMPPRO \ 12 \ jmp.exe
3。そのファイルが存在しない場合は、標準バージョンの実行ファイルを起動しようとします。 JMP 11 に: C:\ Program Files \ SAS \ JMP \ 11 \ jmp.exe
4。そのファイルが存在しない場合は、プロ版の実行可能ファイルを起動してみます。 JMP 11 に: C:\ Program Files \ SAS \ JMPPRO \ 11 \ jmp.exe
5。そのファイルが存在しない場合は、エラー終了します。
私の質問は次のとおりです。
JMPがユーザのマシンのどこにインストールされているかを調べるために問い合わせることができる環境変数またはWindows内の何かがありますか?私の恐れは、JMPが別のディスクパーティションにインストールされている可能性のあるユーザーが職場のどこかにいる可能性があることです。そのため、jmp実行可能ファイルを探している私の現在の実装を無効にします。子: ドライブ。
PerlのOLEオートメーションを使ってJSLファイルを実行することができます。
use OLE;use Win32::OLE;my $jmp = Win32::OLE->new('JMP.Application');$jmp->{Visible} = 1;$jmp->RunJSLFile("C:\\jsl_file.jsl");JMP自動化の詳細については、 JMP自動化リファレンス