【緊急】JMPのホットキーを置き換える方法こんにちは友人:
最近、JMP のホットキーに関する難しい問題に遭遇しました。 もともと簡単に紹介するつもりだったのですが、私にとっては重要すぎます。 私には断片ではなく、問題全体をあなたに知らせる権利があります。
背景:
現在、私は部門全体の JMP (JMP16) & Python レポート自動化を担当しているため、レポート自動化システムを構築しました (このシステムは私の PC 上にあります。私は社内の IT 担当者ではないため、レポート自動化システムを持っていません)。ユーザーと対話するためのサーバーであり、私の興味に基づいてこのシステムを開発しただけであり、そのために多くのことを学びました)電子メールに基づいて、特定のメール件名の電子メールを自動的に受信し、メール ルールをトリガーして VBA 経由でメール アイテム オブジェクトを Python に渡します。その後、Python スクリプトがメール アイテム オブジェクトからの添付ファイルに基づいて JMP レポートを自動的に生成し、以前のメールに自動的に返信します。レポートを添付してメールでお送りください。
問題:
私たちが知っているように、付け加えれば、 「//!」 JSL の最初の行に入力し、JSL ファイルをダブルクリックするだけです。JSL は自動的に実行されますが、Ctrl キーを押して中断すると、JSL がポップアップします。前に述べたように、このシステムは私の PC 上で実行されているため、ユーザーが私に特定の件名のメールを送信する場合は 2 つの状況が考えられます。
- -状況 1 (良い): JMP JSL の実行プロセス全体で CTRL キーを押さなくても、すべて問題なく動作します。
- - 状況 2 (NG): JMP JSL の実行プロセス全体で CTRL キーを押すと、JSL がポップアップ表示され、多くのプロットが生成されません。これは失敗を意味します。
トラブルシューティング:
- JMP 設定のホットキーを確認しましたが、ホットキーが見つからないのか、実際に設定に存在しないのかわかりません
- JMP スタッフに助けを求めましたが、このホットキーを置き換える方法は見つかりませんでした
- JMPの疑いがある開発者は、この変更のインターフェイスを開きませんでした。
必要なサポート:
JSL を中断するために一般的に使用されない他のボタンに CTRL を置き換える必要があります。
ご返信をお待ちしております。よろしくお願いいたします。
自動化とスクリプト作成ウィンドウズRe: 【緊急】JMP のホットキーを置き換える方法Craigさん、またご協力とご返信ありがとうございますRe: 【緊急】JMP のホットキーを置き換える方法おはよう! クレイジ、助けてくれてありがとう。 この質問については、今朝アイデアを思いつきましたので、解決しても問題ないはずです。
Python でコードを作成して、Python が JSL を呼び出している間および JSL が実行されている間は CTRL を使用できないようにし、JMP 関連の部分が完了した後に CTRL を使用できるようにします。 通常、JMP レポート (10000 行のデータ、100x JMP プロット) の生成には 20 秒しかかかりません。つまり、CTRL を使用できない状態でも 20 秒間続くことになりますが、問題はありません。Re: 【緊急】JMP のホットキーを置き換える方法おそらくそうではありません。 コントロール キーはホット キーのようには処理されません。メニュー インターフェイスを経由しません。
あなたができるかもしれないことは、自動化インターフェース(pdf) VB から JMP を制御します。 Python による自動化を使用したことがある人がいるかどうかはわかりません。 pywin32 を使用すれば可能かもしれませんが、10 分の作業では十分ではありません...
Re: 【緊急】JMP のホットキーを置き換える方法素早い返信ありがとうございます、あなたは本当に素晴らしい人です、ありがとう。 実際、数日前に私と話をした JMP スタッフも、この問題を解決するためにこの方法を提供してくれました。この方法を試してみたところ、呼び出しごとにこの方法で JSL を呼び出すと、新しい JMP プロセスが起動されることがわかりました。これは受け入れられません。大量のメモリを消費し、期待どおりに動作しないため、この方法はあきらめました。 元の質問に戻りますが、CTRL を他のボタンに置き換えることは可能ですか?Re: 【緊急】JMP のホットキーを置き換える方法申し訳ありませんが、スクリプトの実行を抑制するために Ctrl キーも使用しているようです。
考えてみると…
Re: 【緊急】JMP のホットキーを置き換える方法//! を使用して .jsl ファイルを起動するのではなく、.jsl ファイルを指定するコマンド ライン引数を使用して JMP を起動するように Python コードを変更します。開始時。

JMPはパスにないようなので、アイコンから実行可能ファイル+パスを取得しました。
Re: 【緊急】JMP のホットキーを置き換える方法クレイジさん、ご返信と親切ありがとうございました!
初めに、 2 つの簡単な JSL 例を示します。
それなし//!
//Save this JSL to desktop, and double click the JSL, you will find it will pop out, //but directly generate a new datatable, unless you manually click run button
newtable();
と//!
//!
newtable();
//Save this JSL to desktop, and double click the JSL, you will find it will directly //generate a new data table.
との利点//! JSL を実行するために実行ボタンをクリックする必要がないため、レポート自動化システムの一部としてこの方法を採用しています。
第二に、この制度のプロセスをもう一度簡単に明らかにしたいと思います。
- ユーザーから特定の件名のメールを私宛てに送信する
- Mail は VBA 経由でメール アイテム オブジェクトを Python に渡します
- Python が実行され、JSL が呼び出されます。 //! JMP プロットの生成やその他の作業を行うため
- Python でレポートを生成し、そのレポートを添付ファイルとしてメールに返信します。
理想的には、このシステムはプロセス全体が完全に自動化されているため完璧である必要がありますが、重要なのは、このシステムが私の PC 上で実行されるということです。誰かが私宛てに特定の件名のメールを送信すると、システムが起動して上記のプロセスが実行されます。同時に作業をしていて、CTRL+C/V を押していくつかの作業を行うと、JSL の実行が直接中断されるため、作業中に誰かが同時にメールを送信すると、非常に大きなリスクが生じます。したがって私は知りたいですCTRL を他のボタンに置き換えて JSL を中断する方法。 少なくとも今のところ、この問題を解決する唯一の方法は、プロセス全体を評価した後に交換することだと思います
Re: 【緊急】JMP のホットキーを置き換える方法// the home window must not be open; I don't know how to access it,
// choose the pref for the jmp starter instead. You could manually
// minimize the home window instead. this only sets the pref, does
// not close the home window
// set preference(Initial JMP Window( "JMP Starter" ));
wait(1); // make sure windows open before minimizing them
windows = getwindowlist(); // does not get the home window
foreach({w},windows,show(w<<GETWINDOWTITLE></GETWINDOWTITLE>
そこからユーザー関数を作成し、新しい分析ウィンドウを開くたびにそれを呼び出すことが必要になる場合があります。 または、ウィンドウを開かずに分析を実行することもできます。
Re: 【緊急】JMP のホットキーを置き換える方法JMPを中断するためのエスケープキーについて質問していると思います。 すべての JMP ウィンドウを最小化してみましたか? これにより、キーボードのフォーカスが別の場所に残ってしまい、JMP がキーストロークを取得できなくなる可能性があると思います (おそらくデスクトップがキーストロークを受信するでしょう)。JMP にはウィンドウを最小化する機能があると思います。