JMP 19:如何通过双击表格脚本打开脚本编辑器?大家好,
我目前使用的是 JMP 19.1,注意到其用户界面行为与 JMP 18 相比有所变化。
在 JMP 18 中,当我双击数据表左侧面板中的表格脚本时,它会自动打开脚本编辑器。然而,在 JMP 19 中,同样的操作(左键双击)却只会触发“重命名脚本”功能。
有没有什么方法或设置可以让 JMP 19 的行为像 JMP 18 一样,以便我可以通过双击直接进入编辑模式?
提前感谢您的帮助!
自动化和脚本编写回复:JMP 19:如何通过双击表格脚本打开脚本编辑器?恢复 双击编辑表格脚本,按 Ctrl+V 粘贴表格脚本
回复:JMP 19:如何通过双击表格脚本打开脚本编辑器?呵呵:我还问了gemini3.1 pro,它也恰好提供了这个链接。
但这与我的要求不同。
我喜欢使用 JMP 18
谢谢! 
回复:JMP 19:如何通过双击表格脚本打开脚本编辑器?JMP19 中,一些很棒的功能消失了: 未记录的秘密
JMP19.1 中大部分功能都已重新添加。但双击编辑表格脚本的功能仍然缺失。
好的,它们仍然可见,用户仍然可以通过某种方法进行编辑……
但经过多年的“双击”操作,许多用户不禁要问:为什么双击操作不能回归呢?
回复:JMP 19:如何通过双击表格脚本打开脚本编辑器?我也彻底改变了我的习惯。
尽量不要将脚本保存在表格中
许多脚本都可以设计成可以单独使用和保存。
JSLS 的数量太多了,有时你不得不搜索才能找到。如果脚本在表格中,则很难找到它。
谢谢!
回复:JMP 19:如何通过双击表格脚本打开脚本编辑器?全自动。
Set Clipboard( txt );dt = New Table("test");Current Data Table(dt);dt << Bring Window To Front;Try(Main Menu("Paste With Column Names"));
Wait(0.5); dt << Clear Column Selection();
Column(dt, 1) << Set Selected(1);
库 = Load Dll("User32");库 << DeclareFunction("keybd_event", Convention(STDCALL), Alias("keybd_event"),
Arg(UInt8, "bVk"), Arg(UInt8, "bScan"), Arg(UInt32, "dwFlags"), Arg(UIntPtr, "dwExtraInfo"),
Returns(Void)
);
VK_F2 = Hex To Number("71"); VK_LEFT = Hex To Number("25"); KEYUP = Hex To Number("02");
库 << keybd_event(VK_F2, 0, 0, 0);库 << keybd_event(VK_F2, 0, KEYUP, 0);Wait(0.3);
库 << keybd_event(VK_LEFT, 0, 0, 0);库 << keybd_event(VK_LEFT, 0, KEYUP, 0);
Wait(0.1);库 << Unload Dll();
回复:JMP 19:如何通过双击表格脚本打开脚本编辑器?好招!
它有点像一个元函数——一个允许与 GUI 进行标准交互的脚本。
因此,可以将 Shift-F2 链接到类似的 JSL 代码,该代码通过右键单击上下文菜单 *) 触发按键序列来打开脚本编辑器 ;- )
为了完成整个过程:F2 也适用于表格脚本:重命名选定的表格脚本。
所以,更改表格脚本名称的方法有很多。
*) 类似下面的代码,但要控制右键弹出菜单……
VK_APPS = Hex To Number("5D"); // Windows Application / Context Menu key
VK_DOWN = Hex To Number("28"); // Arrow Down — navigate menu items
VK_RETURN = Hex To Number("0D"); // Enter
KEYUP = Hex To Number("02");
dll << keybd_event(VK_APPS, 0, 0, 0);
dll << keybd_event(VK_APPS, 0, KEYUP, 0);
Wait(0.3); // wait for context menu to appear
// Navigate to 2nd menu item (2x arrow down - unfortuntely: no effect, keybd_event is too old)
dll << keybd_event(VK_DOWN, 0, 0, 0);
dll << keybd_event(VK_DOWN, 0, KEYUP, 0);
Wait(0.05);
dll << keybd_event(VK_DOWN, 0, 0, 0);
dll << keybd_event(VK_DOWN, 0, KEYUP, 0);
Wait(0.05);
dll << keybd_event(VK_RETURN, 0, 0, 0);
dll << keybd_event(VK_RETURN, 0, KEYUP, 0);