使用AHK热字符串,快捷替换为指定内容,自动生成菜单
发个快速进行字符串替换的脚本,可以独立运行,也可以加到QZ的custom.ahk里运行
修改代码段里的以下内容:
前面3个字符是快捷键,自动替换为从第4个字符开始的内容,如果某行是“-”,则在菜单里添加分隔符。
- QuickInputList=
- (Ltrim
- &Q)2857xxxxxxxxxx@qq.com
- -
- &G)chendddddddddd@szmhzs.com
- )
以下为快捷演示:
1、[ad*—-地址类],快捷键为:]aa
2、[em*—-邮箱类],快捷键为:]ee
3、[tel*—-电话类] ,快捷键为:]tt
4、[-*—-日期类],快捷键为:]–
5、[**—-名称类],快捷键为:]mm
以下为完整代码:
- ;我的快捷替换短语>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ;[*] 的作用是不用输入终止符即自动替换
- ;[ad*----地址类];{
- :*:]aa::
- QuickInputList=
- (Ltrim
- &X)aaaaaaaaaaaaaaaaaaaaaaaaa,aaa,aaaaaaaaaaaaaaaa
- &S)bbbbbbbbbbbbbb,bbbbb,bbbbbbbbbbbbbbb
- &M)cccccccccccccccc,ccc,ccccccccccccc
- -
- &Y)ddddddddddddddddd,徐dddd,18-ddddd
- &P)深圳市eeeeeeeeeeeeeeeeee,潘ee,187eeeeeeeeeeee
- -
- &Z)深圳市fffffffffffffffffffff,周fff,185fffffffffffffffffffff
- &J)深圳gggggggggggggggggg,周ggg,1ggggggggggggggggg
- )
- MySub_QuickInput(QuickInputList)
- return
- ;}
- ;[em*----邮箱类] ;{
- :*:]ee::
- QuickInputList=
- (Ltrim
- &Q)2857xxxxxxxxxx@qq.com
- &G)chendddddddddd@szmhzs.com
- )
- MySub_QuickInput(QuickInputList)
- return
- ;}
- ;[tel*----电话类] ;{
- :*:]tt::
- QuickInputList=
- (Ltrim
- &C)陈xxxxx,18-xxxxxx
- &Z)张xxxx,1xxx-xxxx-xxxxx
- )
- MySub_QuickInput(QuickInputList)
- return
- ;}
- ;[-*----日期类] ;{
- :*:]--::
- QuickInputList=
- (Ltrim
- &1)%A_YYYY%%A_MM%%A_DD%
- &2)%A_YYYY%-%A_MM%-%A_DD%
- &3)%A_YYYY%.%A_MM%.%A_DD%
- &4)%A_YYYY%年%A_MM%月%A_DD%日
- &5)[%A_YYYY%.%A_MM%.%A_DD%]
- )
- MySub_QuickInput(QuickInputList)
- return
- ;}
- ;[**----名称类] ;{
- :*:]mm::
- QuickInputList=
- (Ltrim
- &M)深圳市aaaaaaaaaaaaaa
- &L)联ggggggggggggggggggg
- &G)广西dddddddddddddddddd
- -
- &T)厦门gggggggggggg
- )
- MySub_QuickInput(QuickInputList)
- return
- ;}
- ;我的过程或函数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- MySub_QuickInput(String){
- menu,KyMenu_QuickInput,Add
- menu,KyMenu_QuickInput,DeleteAll
- Loop,parse,String,`n,`r
- {
- if (A_LoopField="")
- continue
- if (A_LoopField="-")
- menu,KyMenu_QuickInput,Add
- else
- menu,KyMenu_QuickInput,Add,% A_LoopField,KyMenu_QuickInput_Handler
- }
- menu,KyMenu_QuickInput,show
- return
- KyMenu_QuickInput_Handler:
- PostMessage, 0x50, 0, 67699721, , A
- outputStr:=substr(A_ThisMenuItem,4,strlen(A_ThisMenuItem))
- SendInput {raw}%outputStr%
- return
- }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
我记得你生成了gif吧 把动图放上更好!
不知道什么原因,上传GIF,总是出错,上传不了。
好吧! 我帮你发 你把gif发我一下
你应该是用ScreenToGif 这个小工具做的,不知道什么原因,对这个工具生成的gif网站竟然不支持,我这边使用camtasia转换重新生成一下就好用了!
😳 thx~
😥 你好,感谢分享,热字串可用,但是遇到一个问题,就是一旦在哪个程序上使用了热字串,就无法再切换会原本的中文输入了,只能敲出英文,除非关闭程序重启。
比如说在outlook使用了一次热字串以后,就无法再切换回中文输入,除非关闭outlook重启。这一点在excel和word里都会遇到同样情况,我不知道自己是不是个例,我是win7系统,office2013,输入法搜狗。如有时间请不吝赐教,谢谢!
这个跟你的输入法有关系吧
PostMessage, 0x50, 0, 67699721, , A
这一句的作用就是切换到英文输入法,主要是用来防止中文输入法的影响,如果有问题,可以注销本行。
🙄 此行删除后完全可用,中英文切换没有问题,非常感谢~OuO!
哈哈 解决问题适当打赏会有更多分享!!
好哒,谢谢
如何优化这个脚本,像输入法那样直接修改文件夹或文件的名字,现在用的这个脚本,每次修改文件夹等按到快捷短语,修改文字的输入框就消失了,还有能不能搞个分组这样就可以用一个组管理所有快捷短语
完美解决了我的问题,万分感谢!!!!
很实用,谢谢分享!
哦哦,作为一个程序员,居然不会AutoHotKey,丢人啊
谢谢