[緊急] 如何更換JMP中的熱鍵朋友你好:
最近我遇到了一個關於 JMP 熱鍵的棘手問題。 而我原本是想簡單介紹一下,但它對我來說太重要了。 我有權利讓你知道整件事情,而不是片段。
背景:
目前我負責全部門的JMP(JMP16)和Python報表自動化,所以我建立了一個報表自動化系統(這個系統在我的電腦上,我不是公司的IT人員,所以我沒有伺服器與用戶交互,只是根據我的興趣發展了這個系統,並且我從中學到了很多)基於電子郵件,它可以自動接收帶有特定郵件主題的電子郵件,然後觸發郵件規則透過VBA將郵件項目物件傳遞給Python,然後Python腳本將根據郵件項目物件的附件自動產生JMP報告並自動回覆先前的郵件附有報告的郵件。
問題:
眾所周知,如果我們添加“//!”進入JSL的第一行,然後我們只需雙擊JSL文件,JSL就會自動運行,但我們可以按CTRL來中斷它,然後JSL就會彈出。如前所述,該系統運行在我的PC上,因此當用戶向我發送特定主題的郵件時,會出現兩種情況:
- -情況1(良好):如果我在JMP JSL運行的整個過程中不按CTRL,一切都會好起來的。
- -情況2(NG):如果我在JMP JSL運行的整個過程中按CTRL,JSL就會彈出,很多圖不會生成,也意味著FAIL。
故障排除:
- 我檢查了 JMP 首選項中的熱鍵,我不知道是我遺漏了它還是它實際上不存在於首選項中
- 向JMP工作人員尋求協助,但找不到替換此熱鍵的方法
- 我懷疑JMP開發者並沒有開放本次修改的介面。
需要幫助:
需要將 CTRL 替換為其他不常用的按鈕來中斷 JSL。
我期待您的回复,提前非常感謝。
自動化和腳本編寫視窗回覆:[緊急] 如何更換 JMP 中的熱鍵Craige,再次感謝您的幫助與回复回覆:[緊急] 如何更換 JMP 中的熱鍵早安! 克雷格,謝謝你的幫忙。 對於這個問題,今天早上我已經有了想法,解決起來應該就好了。
用Python寫一些程式碼,讓Python呼叫JSL和JSL運行時CTRL不能使用,等JMP相關的部分完成後,再讓CTRL可以使用。 通常,產生一個 JMP 報告(10000 行數據,100x JMP 圖)只需要 20 秒,這意味著 CTRL 無法使用將持續 20 秒,這不是問題。回覆:[緊急] 如何更換 JMP 中的熱鍵可能不會。 控制鍵不像熱鍵那樣處理;它不通過任何菜單介面。
您可能可以做的是使用自動化介面(pdf) 從 VB 控制 JMP。 我不確定是否有人曾經使用過 Python 的自動化;使用 pywin32 或許可以,但 10 分鐘的努力還不夠...
回覆:[緊急] 如何更換 JMP 中的熱鍵感謝您的快速回复,您真是一個了不起的人,謝謝。 其實前幾天跟我聊的JMP工作人員也提供了這個方法來解決這個問題,我嘗試了這個方法,發現每次這樣呼叫JSL時都會啟動一個新的JMP進程,這是令人無法接受的佔用大量記憶體並且達不到我的預期,所以我放棄了這種方式。 回到最初的問題,是否可以用其他按鈕取代CTRL?回覆:[緊急] 如何更換 JMP 中的熱鍵抱歉,這似乎也使用控制鍵來禁止腳本運行。
考慮此事...
回覆:[緊急] 如何更換 JMP 中的熱鍵更改 python 程式碼以使用指定 .jsl 檔案的命令列參數啟動 JMP,而不是使用 //! 啟動 .jsl 檔案。在開始時。

JMP似乎不在路徑中,所以我從圖示中抓取了可執行檔+路徑。
回覆:[緊急] 如何更換 JMP 中的熱鍵克雷格,感謝您的回覆和好意!
首先,我想向您展示兩個簡單的 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產生報告並以報告附件回覆郵件。
理想情況下,這個系統應該是完美的,因為整個過程是完全自動化的,但關鍵是這個系統運行在我的電腦上,如果有人向我發送帶有特定主題的郵件,系統將被激活並執行上述過程,並且如果我在工作的同時按下CTRL+C/V來做一些工作,它會直接中斷JSL的運行,所以當我工作的同時有人給我發郵件時確實存在很大的風險,因此我想知道如何用其他按鈕取代 CTRL 來中斷 JSL 。 至少到目前為止我認為解決這個問題的唯一方法是在評估整個過程後更換它
回覆:[緊急] 如何更換 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>
您可能需要從中建立一個使用者函數,並在每次開啟新的分析視窗時呼叫它。 或者您可以在不開啟視窗的情況下執行分析。
回覆:[緊急] 如何更換 JMP 中的熱鍵我認為您是在問有關中斷 JMP 的退出鍵。 您是否嘗試過最小化所有 JMP 視窗? 我認為這可能會將鍵盤焦點留在其他地方,因此 JMP 不會收到擊鍵(也許桌面會收到它。)我認為 JMP 有一個最小化視窗功能。