LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]Notepad++宏操作脚本文件位置及编辑方法(参数说明)

admin
2025年8月15日 15:52 本文热度 46

在 Notepad++ 中,宏录制的内容默认保存在配置文件 shortcuts.xml 中,而不是独立的脚本文件。以下是详细说明和操作建议:

1. 宏配置文件的位置

  • 非便携模式(标准安装)

  • 文件路径:

  • C:\Users\<你的用户名>\AppData\Roaming\Notepad++\shortcuts.xml

  • AppData 是隐藏文件夹,需在文件管理器中启用“显示隐藏文件”才能看到)。

  • 便携模式(Portable版)

  • 文件路径:

  • <Notepad++安装目录>\config\shortcuts.xml

2. 编辑宏的步骤

(1) 关闭 Notepad++

编辑前务必关闭 Notepad++,否则修改会被覆盖。

(2) 备份 shortcuts.xml

为防止意外损坏,先备份原文件。

(3) 编辑 shortcuts.xml

  • 用文本编辑器(如 Notepad++ 自身)打开 shortcuts.xml

  • 宏内容在 <Macros>...</Macros> 标签内,例如:

<Macros>

  <Macro name="宏名称" Ctrl="yes" Alt="no" Shift="no" Key="0">

    <Action type="1" message="2170" wParam="0" lParam="0" sParam="" />

    <Action type="1" message="2170" wParam="0" lParam="0" sParam="自定义文本" />

  </Macro>

</Macros>

  • 关键参数

    • name:宏名称。

    • Ctrl/Alt/Shift:快捷键组合。

    • Action:每个操作对应一条命令(如输入文本、光标移动等)。

(4) 修改后保存

重新启动 Notepad++,宏会自动生效。

3. 替代方案:导出为独立文件

Notepad++ 本身不支持导出宏为可编辑脚本,但可通过以下方法间接实现:

1、录制宏后保存操作

宏 -> 管理宏 -> 选择宏 -> 点击 保存,会生成一个 .XML 文件(可自由编辑,再通过 导入 加载)。

2、使用 Python Script 插件

安装插件后可用 Python 编写脚本,完全可控(推荐高级用户)。

注意事项

  • 直接编辑 shortcuts.xml 有风险,操作前务必备份。

  • 宏的本质是记录键盘/鼠标操作(如 message="2170" 表示输入文本),可读性较差,需谨慎修改。

  • 如需复杂功能,建议使用 Notepad++ 插件(如 Python Script)替代原生宏。

通过上述方法,即可自由编辑和自定义宏脚本。

在 Notepad++ 宏的 XML 配置中,每个 <Action> 标签对应一个编辑操作,其参数基于 Scintilla 编辑控件(Notepad++ 使用的文本编辑引擎)的底层消息系统。以下是详细解析:

参数核心含义

参数类型说明
type整数操作类型
1 = Scintilla 编辑命令
3 = 延迟操作(单位:毫秒)
message整数消息指令:对应 Scintilla 的 SCI_* 命令编号(见下方详解)
wParam整数附加参数 1(通常用于标志位或整数值)
lParam整数附加参数 2(通常用于位置索引或扩展标志)
sParam字符串附加字符串(如插入的文本内容)

常见 message 值及含义

Scintilla 消息编号可在其官方文档中查询。以下是关键值解析:

消息值对应常量功能说明典型参数配置
1700SCI_ADDTEXT插入文本sParam="文本内容"
1701SCI_GOTOPOS移动光标到绝对位置lParam=字符索引(如 1609)
1702SCI_GOTOLINE移动光标到行号lParam=行号(0 起计)
1625SCI_LINEDOWN光标下移一行wParam=0, lParam=0
1601SCI_CHARLEFT光标左移一字符wParam=0, lParam=0
1602SCI_CHARRIGHT光标右移一字符wParam=0, lParam=0
2170SCI_REPLACESEL替换选中文本sParam="新文本"
2007SCI_DELETEBACK删除前一个字符(Backspace)wParam=0, lParam=0
2178SCI_HOME光标移到行首wParam=0, lParam=0
2179SCI_LINEEND光标移到行尾wParam=0, lParam=0

lParam 和 wParam 详解

1. 位置索引类(用于 message=1701

  • lParam="1609"

  • 表示光标跳转到文档中第 1609 个字符的位置(从 0 开始计数)。

  • 示例

  • <Action type="1" message="1701" wParam="0" lParam="1609" sParam="" />

2. 键盘状态标志(用于移动/选择命令)

lParam="768"(十六进制 0x300):

表示同时按下 Ctrl+Shift 的组合键状态:

    • 0x300 = 0x100 (Shift) | 0x200 (Ctrl)

      示例(扩展选择到单词末尾):

    • <Action type="1" message="2087" wParam="0" lParam="768" sParam="" />

3. 行号定位(用于 message=1702

  • lParam="42"

  • 表示跳转到第 43 行(行号从 0 开始计数)。

  • 示例

  • <Action type="1" message="1702" wParam="0" lParam="42" sParam="" />

4. 无操作参数(多数情况)

lParam="0" 或 wParam="0"

表示该消息不需要额外参数。

特殊 type="3" 解析

当 type="3" 时,表示延迟操作

<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
  • message 值实际表示延迟时间(单位:毫秒)

  • 此例中 message="1701" 表示延迟 1701 毫秒(约 1.7 秒)

  • 用途:模拟用户操作间隔,避免执行过快导致错误。

操作示例还原

场景:全局替换掉文本 "letter-spacing: 0.544px;"为

<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="" />

场景:全局替换掉文本 "letter-spacing: 0.544px;"为“letter-spacing: 0.8px;

<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="" />

场景:在位置 1609 插入文本 "Hello"

<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>

调试建议

  1. 备份文件:修改前务必备份 shortcuts.xml

  2. 小步修改:每次只改一个参数测试效果

  3. 查文档

💡 提示:直接编辑 XML 易出错,推荐使用 Notepad++ 的 宏管理界面宏 > 管理宏)导出为独立 XML 后再编辑导入。


该文章在 2025/8/15 15:57:03 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved