|
最近发现用ahk操作Excel或WPS,同一个脚本只把Excel.Application改成Ket.Application就能通用,简直比VBA和JS宏还香,写了几个简单的功能(中键仅粘贴值,侧键1将求和结果存入剪贴板,小键盘回车水平移动双击回到开头并换行):
;---wils.ahk---
; 设置按键间隔为60毫秒,电脑快可降低
SetKeyDelay, 60
; 自定义函数
RemoveToolTip() {
ToolTip
}
GetExcel() {
try {
return ComObjActive("Excel.Application")
} catch, e {
MsgBox, , , 等待COM注册, 0.6
return ComObjActive("Excel.Application")
}
}
return
; 只用于excel的快捷键
#IfWinActive ahk_class XLMAIN
; 点击鼠标中键,触发选择性粘贴,仅粘贴值
MButton::Send {LButton}^!vuv{Enter}
; 忽略隐藏的单元格,对选中区域求和,将结果存入剪贴板
XButton1::
Send, !;
xl := GetExcel()
Clipboard := xl.WorksheetFunction.Sum(xl.Selection)
xl :=
ToolTip, % Clipboard
SetTimer, RemoveToolTip, -600
return
; 单击小键盘回车,向右移动一格,双击则回到行首并换行
NumpadEnter::
if (NE_n > 0)
NE_n += 1
else {
NE_n := 1
SetTimer, ExcelNumEnt, -240
}
return
ExcelNumEnt:
if (NE_n == 1)
Send, {Tab}
else
Send, {Left}^{Left}{Enter}
NE_n := 0
return
; 用于全局的快捷键
#IfWinActive
;---wils.ahk---
|
评分
-
1
查看全部评分
-
|