v1版本批量创建热字符串,使用Hotstring() 求助?

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

gdqb521
Posts: 13
Joined: 15 Aug 2015, 08:01

v1版本批量创建热字符串,使用Hotstring() 求助?

28 Feb 2023, 04:42

需求:pt9 自动替换为PT20230228009,规则就是字母自动大写,数字转化为日期+3为用0补齐位数的数字组合,例如sk10 替换为:SK20230228010(规则是SK+20230208+010),其中日期按系统日期自动更新。主要问题是字符后面的数字有1~600范围,如何批量创建这个自动替换的字符串?
单个替换能够基本实现:

Code: Select all

::pt9::
::sk10::
thishotkey:=SubStr(A_ThisHotkey,3)              ;保存热键到变量
RegExMatch(thishotkey, "i)([a-zA-Z]+)", char)   ;正则提取热键中的字母
RegExMatch(thishotkey, "i)([0-9]+)", num)       ;正则提取热键中的数字
if (num)                                        ;如果num为空,则赋值为001,否则将其用0补齐为3位字符长度
num:=Format("{:003}",num)
else
	num:=001
编号 := char A_YYYY A_MM A_DD num                   ; 字符+日期+流水号,编制姓名编码
StringUpper, 编号, 编号                             ;大写字母
SendInput %编号%                                    ;由于有变量,所以使用SendInput方式。
return
Hotstring() 批量如何创建?总是语法错误等问题,x选项也不能用。

Return to “请求帮助”

Who is online

Users browsing this forum: No registered users and 6 guests