truezhang 发表于 2024-4-10 14:08:56

VBA程序可以自定义快捷键或命令吗

如题,在VBA里面做了一个小程序,现在只会点工具里面的宏来运行,有些麻烦。可以像EXCEL里面那样定义快捷键或像CAD里面其他指令那样有专属命令字吗

mikewolf2k 发表于 2024-4-11 10:36:20

创建一个lsp执行你的宏
(defun c:mytools()
(setvar "cmdecho" 0)
(setvar "filedia" 0)
(vl-vbarun "O:\\TempShare\\mytools\\mytools.dvb!mytools")
(command "_vbaunload" "O:\\TempShare\\mytools\\mytools.dvb")
(setvar "filedia" 1)
(setvar "cmdecho" 1)
(princ)
)

truezhang 发表于 2024-4-12 11:34:56

谢谢,只会VBA,LSP没怎么接触过

chen33 发表于 2024-4-25 13:42:25

可以做一个自定义命令来运行宏,我是把它放在自定义的菜单栏里了,理论上也可以通过自定义命令来直接调用。但不知道为什么我的自定义命令一直没成功,显示找不到命令,可能跟宏的权限有关。楼上用LISP的方法打开了新思路

chen33 发表于 2024-4-25 14:31:15

mikewolf2k 发表于 2024-4-11 10:36
创建一个lsp执行你的宏
(defun c:mytools()
(setvar "cmdecho" 0)


请问显示“未找到宏”是什么原因呢,路径和宏名都是对的

mikewolf2k 发表于 2024-4-25 15:41:22

你做了什么?

wuyunpeng888 发表于 2024-4-30 16:17:21

本帖最后由 wuyunpeng888 于 2024-4-30 16:56 编辑

可以把下面的文本放在acaddoc.lsp文件里,CAD启动时自动加载,或放在单独的.lsp文件加入启动组
(defun c:命令名()
(command "-vbarun" "dvb文件标识!模块名.宏名")
)

wuyunpeng888 发表于 2024-4-30 16:57:01

以前做过一个管理命令用的管理器,专门做这个
页: [1]
查看完整版本: VBA程序可以自定义快捷键或命令吗