<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao guru JMP,
Attualmente sto usando uno script Perl per lanciare il nostro script JSL. Lo script Perl cerca il percorso di installazione predefinito di JMP nella cartella dei file di programma. Poiché ci sono potenzialmente 4 diverse versioni di JMP in giro per il nostro posto di lavoro, ho finito con la seguente implementazione:
1. Tentativo di avviare l'eseguibile della versione standard di JMP 12 nel: C: \ Programmi \ SAS \ JMP \ 12 \ jmp.exe
2. Se quel file non esiste, tenta di avviare l'eseguibile della versione pro di JMP 12 nel: C: \ Programmi \ SAS \ JMPPRO \ 12 \ jmp.exe
3. Se il file non esiste, tenta di avviare l'eseguibile della versione standard di JMP 11 nel: C: \ Programmi \ SAS \ JMP \ 11 \ jmp.exe
4. Se quel file non esiste, tenta di avviare l'eseguibile della versione pro di JMP 11 nel: C: \ Programmi \ SAS \ JMPPRO \ 11 \ jmp.exe
5. Se quel file non esiste, finisci per errore.
La mia domanda è la seguente:
C'è una variabile d'ambiente o qualcosa in Windows che posso interrogare per scoprire dove è installato JMP nel computer dell'utente? La mia paura è che possa esserci un utente da qualche parte sul posto di lavoro che potrebbe avere installato JMP in un'altra partizione del disco. Quindi, annullando la mia attuale implementazione che cerca l'eseguibile jmp nel C: \ guidare.
Puoi utilizzare l'automazione OLE da Perl per eseguire un file JSL:
use OLE;use Win32::OLE;my $jmp = Win32::OLE->new('JMP.Application');$jmp->{Visible} = 1;$jmp->RunJSLFile("C:\\jsl_file.jsl");Per ulteriori informazioni sull'automazione JMP, consulta il Riferimento di automazione JMP