如何快速输入VBA/JS代码

看到社区有人发AHK的教程,我也来凑凑热闹


话不多说,先看演示


用的工具为AHK,官网地址如下:

AutoHotkey官网,点击下载

点击链接进入后直接点击download,选择任意一版本下载即可。


安装完成后没有任何图标,使用方法有两种:

1:桌面右键新建,有AutoHotkey Script选项

2:直接新建一个TXT文档,改后缀为.ahk,当然你要开启文件夹选项的显示文件后缀。


用法很简单,新建后编辑即可,建议使用Visual Studio Code编辑更方便,你要是看得惯的话用记事本也行。

刚打开是一片空白,自己编辑代码即可

这里教一个常用的代码类型吧

首先写一串这个

👋

#ifWinActive ahk_class wndclass_desked_gsk

return

第一行你可以理解为这个脚本只在VBA窗口生效

第二行类似于VBA的end sub,所有代码都放在这两行中间

特别讲一下第一行吧,脚本运行后任务栏会有一个小图标,右键后会有一个window spy选项

打开VBA界面,可以明显看到第二行的数据为:ahk_class wndclass_desked_gsk,

此方法可以在其他脚本界面,比如PY等等,限定只在这个窗口生效,

方法就是 #ifWinActive

现在开始讲代码

比如我写一个IF和一个for循环的快捷输入:

👋

#ifWinActive ahk_class wndclass_desked_gsk

;--------------------------If命令

:B:If::

send,{Text}

(

If XXx Then

end If

)

send,{UP 1}

return

;--------------------------For命令

:B:For::

send,{Text}

(

For i = 1 to 100

Next

)

send,{UP 1}

return

;--------------------------待续

return

挑IF来讲:

首先是#if 和return这串基础代码,

然后是一个注释,用;开头,后面随便写

(注意:如果注释写在代码后面而不是单独的一行,需要在代码后面添加一个空格或者按一下TAB键)

然后就是if命令

👋

:B:If::

send,{Text}

(

If XXx Then

end If

)

send,{UP 1}

return

:B: 你可以理解为后面输入的IF会被自动删除,而不是保存在你要输出的窗口中,不然你就会出现两个IF了..

if 就是你要快捷输入的时候要按下的键了,比如这里就是要你按下if和空格键实现上面GIF的效果

send 发送

{Text} 强制输出文本(这个很重要)

() 里面的就是你要输出的内容

send,{UP 1} 往上走一格

return 结束代码

其实很简单,看一遍就明白了。

这只是我演示的一种方式,其他的可以参阅B站大佬鹅大的视频,链接如下:

VBA快捷输入免费方案


好了,完结撒花,第一次发教程贴,排版啥的也不会,就这样吧,另外附上我自己目前在用的:

我的AHK代码

东京都
浏览 647
2
5
分享
5 +1
2
2 +1
全部评论 2
 
wils
wils

创作者俱乐部成员

好东西! 用热字符串实现快速在vba里输入代码片段 如果做一个复杂公式的快速输入,论坛里更多人会喜欢的
· 海南省
回复
星辰
其实原理是一样的,我已经基本讲明白自己怎么编写了
· 东京都
回复