[點晴永久免費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 后再編輯導入。