[点晴永久免费OA]Notepad++宏操作脚本文件位置及编辑方法(参数说明)
当前位置:点晴教程→点晴OA办公管理信息系统
→『 经验分享&问题答疑 』
在 Notepad++ 中,宏录制的内容默认保存在配置文件 1. 宏配置文件的位置
2. 编辑宏的步骤(1) 关闭 Notepad++编辑前务必关闭 Notepad++,否则修改会被覆盖。 (2) 备份 |
参数 | 类型 | 说明 |
---|---|---|
type | 整数 | 操作类型: - 1 = Scintilla 编辑命令- 3 = 延迟操作(单位:毫秒) |
message | 整数 | 消息指令:对应 Scintilla 的 SCI_* 命令编号(见下方详解) |
wParam | 整数 | 附加参数 1(通常用于标志位或整数值) |
lParam | 整数 | 附加参数 2(通常用于位置索引或扩展标志) |
sParam | 字符串 | 附加字符串(如插入的文本内容) |
Scintilla 消息编号可在其官方文档中查询。以下是关键值解析:
消息值 | 对应常量 | 功能说明 | 典型参数配置 |
---|---|---|---|
1700 | SCI_ADDTEXT | 插入文本 | sParam="文本内容" |
1701 | SCI_GOTOPOS | 移动光标到绝对位置 | lParam=字符索引 (如 1609) |
1702 | SCI_GOTOLINE | 移动光标到行号 | lParam=行号 (0 起计) |
1625 | SCI_LINEDOWN | 光标下移一行 | wParam=0, lParam=0 |
1601 | SCI_CHARLEFT | 光标左移一字符 | wParam=0, lParam=0 |
1602 | SCI_CHARRIGHT | 光标右移一字符 | wParam=0, lParam=0 |
2170 | SCI_REPLACESEL | 替换选中文本 | sParam="新文本" |
2007 | SCI_DELETEBACK | 删除前一个字符(Backspace) | wParam=0, lParam=0 |
2178 | SCI_HOME | 光标移到行首 | wParam=0, lParam=0 |
2179 | SCI_LINEEND | 光标移到行尾 | wParam=0, lParam=0 |
message=1701
)lParam="1609"
:
表示光标跳转到文档中第 1609 个字符的位置(从 0 开始计数)。
示例:
<Action type="1" message="1701" wParam="0" lParam="1609" sParam="" />
lParam="768"
(十六进制 0x300
):Ctrl+Shift
的组合键状态:0x300 = 0x100 (Shift) | 0x200 (Ctrl)
示例(扩展选择到单词末尾):
<Action type="1" message="2087" wParam="0" lParam="768" sParam="" />
message=1702
)lParam="42"
:
表示跳转到第 43 行(行号从 0 开始计数)。
示例:
<Action type="1" message="1702" wParam="0" lParam="42" sParam="" />
lParam="0"
或 wParam="0"
:
表示该消息不需要额外参数。
当 type="3"
时,表示延迟操作:
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
message
值实际表示延迟时间(单位:毫秒)
此例中 message="1701"
表示延迟 1701 毫秒(约 1.7 秒)
用途:模拟用户操作间隔,避免执行过快导致错误。
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="letter-spacing: 0.544px;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="letter-spacing: 0.544px;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="letter-spacing: 0.8px;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
<Macro name="DemoMacro">
<!-- 跳转到位置 1609 -->
<Action type="1" message="1701" wParam="0" lParam="1609" sParam="" />
<!-- 插入文本 -->
<Action type="1" message="2170" wParam="0" lParam="0" sParam="Hello" />
<!-- 等待 500 毫秒 -->
<Action type="3" message="500" wParam="0" lParam="0" sParam="" />
</Macro>
备份文件:修改前务必备份 shortcuts.xml
小步修改:每次只改一个参数测试效果
查文档:
Notepad++ 源码中的 scintilla.iface
文件(含所有消息常量)
💡 提示:直接编辑 XML 易出错,推荐使用 Notepad++ 的 宏管理界面(
宏 > 管理宏
)导出为独立 XML 后再编辑导入。