使用快捷方式运行自己编写的 JSL 脚本大家好你们好!
在图形生成器中查看某些数据时,我可以在图中标记一个或多个点。 标记一些东西后,我想通过点击一些键盘快捷键来运行一个自己编写的 JSL 脚本(它在新窗口中以其他方式绘制数据表中标记的行)。 我必须多次这样做,我想避免每次都打开脚本或切换到脚本窗口并点击开始。 当 Graph Builder 在前台时,是否可以分配键盘快捷键来运行特定脚本?
谢谢!
回复:使用快捷方式运行自己编写的 JSL 脚本这更好、更快、更容易! 谢谢!回复:使用快捷方式运行自己编写的 JSL 脚本@gzmorgan0的解决方案很好,但它似乎确实依赖于在 JSL 中创建图形生成器(或其他报告)以添加鼠标框及其相应的键盘快捷键。
您在原始帖子中似乎描述的是交互式创建图形生成器报告,选择一些点,然后在选定的行上执行某些操作。
对于此用例,您可以创建 JMP 插件以在选定行上运行 JSL 并为其分配键盘快捷键。
想象一下,您有这个 JSL,它将当前数据表的选定行着色并标记为蓝色 X。
current data table()<<COLORS></COLORS>
您可以使用文件->新建插件创建一个新的加载项。

在插件生成器窗口中,您可以为您为插件创建的菜单命令分配一个快捷键。

保存并安装此加载项后,每当我按下 Ctrl-Shift-B 时,我都会为当前数据表的选定行着色并用蓝色 X 标记。
当然,如果我愿意对何时使用它做出一些假设(例如,仅当我拥有某种结构的数据表时,或者仅当我查看特定平台时),我的脚本当然可以做得更多.
回复:使用快捷方式运行自己编写的 JSL 脚本哇,太酷了! 谢谢!回复:使用快捷方式运行自己编写的 JSL 脚本你好。 您将在附件中找到一个使用 mousebox 的示例脚本。
Mousebox 对于交互式图形非常有用,但是,一些功能没有很好的文档记录。
如果您愿意单击按钮,则确实需要使用 mousebox。
单击键盘上的主页键时,此脚本会运行一个任务。 关于 Mousebox 有几点需要注意,您只能为 mousebox 参数指定一个显示框。 但是,如果你把它做成一个容器显示框,比如VListBox,或者HListBox,那么就可以通过mousebox函数来访问多个对象。 其他需要注意的是,有多个鼠标框功能,并且存在失去焦点的问题。 继续阅读。
本例中使用的鼠标框函数是 SetKey() 函数。正如 Craig Hales 在 2015 年 12 月记录的那样,使用一些内置的键盘快捷键会导致鼠标框失去焦点。 所以这个脚本添加了一个按钮来重新聚焦,这样它就可以被重置。 要进行测试,请使用选择一个手形工具,例如选择(粗加号),然后选择一些箭头键,这些键将不再显示。 单击 Refocus 按钮,然后单击箭头键,现在会出现按钮的文本。
要测试该功能,请从 Graph Builder 图中选择几个点。选择一些箭头键,然后选择主页。 将出现您选择的 yourw 窗口。 进行另一组选择,然后再次单击主页。
如果您希望使用按钮框而不是键盘键来启动任务,则此 Refocus 按钮还提供了一个示例。为了演示,我保留了一个打印键盘键的文本框。 我从 2015 年的 Craig Hales 示例中学到了很多,因此该脚本包含链接,并且该脚本的设置键功能模拟了他的示例。
该脚本在 JMP 12、13 和 14 中进行了测试。