突然发现word有四种设置快捷键的方法,首先介绍的两种是word自带的设置方式;一种是AHK的设置方法,以一个简单例子即可上手;最后一种是方法的合体。
方法一
首先是左上角的这个快速工具区,是可以自定义的
然后的话,是固定配合Alt+1、Alt+2、Alt+3…使用
方法二
进入这个自定义功能区,下面有个键盘快捷方式自定义
这里相对常用一些,因为它可以配置宏实现一些word没提供的功能接口,例如这里我自己添加的页面放大、缩小、固定150比例等等。
方法三
利用AHK,开始的时候以为只能修改替代已有的快捷键,直到发现原来alt键就可以实现页面所有功能的快捷键,这有个好处就是,word没有提供接口的功能,不需要再去录制宏,再设置快捷键,在这里可以直接实现,简单粗暴,推荐!
;只对word触发快捷键
#IfWinActive ahk_exe WINWORD.EXE
!x::!= ;修改插入公式的快捷键,因为距离太远了
;打开段落选项
;该方法在WPS不行,alt压根扶不起来!!!
^!p::send !hk{down 6}{enter}
return
;研究了好一会,WPS只能这样触发,似乎太短的alt唤醒不了工具栏
!1::
send {alt down}h
sleep 500
send fp
sleep 500
send {alt up}
return
#IfWinActive
设置的逻辑就是,通过Alt唤醒上面选项卡的键盘命令按键,然后需要sleep一下,否则速度太快的话,word还没反应过来,然后再根据相应字母一个一个触发即可
注:这种错误示范,
要像这样,一串写下去,不然分开send出去的alt没有反应!!!
方法4 设置成宏 通过alt+1触发
本质上相当于方法一、三的合体
首先创建宏
还是以打开段落设置为例子,此处相当于
Sub 按键()
'
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "%{h}{k}{down 6}{enter}"
End Sub
附:
其他按键与符号对应:
SHIFT 用 +
CTRL 用 ^
ALT 用 %
最后再word基础操作的左上方,用alt+数字键触发即可
注:实测该方法在WPS不能连续触发,只能触发一个键。不过,还是被我磨出一个方案,就是通过调用一个延时函数。(试过Wscript Sleep 1000
和网上的excel暂停方案,还是不行)
第二天有失灵了。。。拉黑拉黑,还不如直接用AHK来靠谱;费我时间折腾一天,看到都难受,以后用只用word了!!!
Sub 格式刷快捷键()
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "%{H}"
Delayms 1200
WshShell.SendKeys "{F}{P}"
End Sub
Public Sub Delayms(lngTime As Long)
Dim StartTime As Single
Dim CostTime As Single
StartTime = Timer
Do While (Timer - StartTime) * 1000 < lngTime
DoEvents
Loop
End Sub