明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 754|回复: 7

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

[复制链接]
发表于 2024-4-10 14:08:56 | 显示全部楼层 |阅读模式
如题,在VBA里面做了一个小程序,现在只会点工具里面的宏来运行,有些麻烦。可以像EXCEL里面那样定义快捷键或像CAD里面其他指令那样有专属命令字吗
发表于 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)
)
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-4-12 11:34:56 | 显示全部楼层
谢谢,只会VBA,LSP没怎么接触过
发表于 2024-4-25 13:42:25 | 显示全部楼层
可以做一个自定义命令来运行宏,我是把它放在自定义的菜单栏里了,理论上也可以通过自定义命令来直接调用。但不知道为什么我的自定义命令一直没成功,显示找不到命令,可能跟宏的权限有关。楼上用LISP的方法打开了新思路
发表于 2024-4-25 14:31:15 | 显示全部楼层
mikewolf2k 发表于 2024-4-11 10:36
创建一个lsp执行你的宏
(defun c:mytools()
(setvar "cmdecho" 0)

请问显示“未找到宏”是什么原因呢,路径和宏名都是对的
发表于 2024-4-25 15:41:22 | 显示全部楼层
你做了什么?
发表于 2024-4-30 16:17:21 | 显示全部楼层
本帖最后由 wuyunpeng888 于 2024-4-30 16:56 编辑

可以把下面的文本放在acaddoc.lsp文件里,CAD启动时自动加载,或放在单独的.lsp文件加入启动组
(defun c:命令名()
  (command "-vbarun" "dvb文件标识!模块名.宏名")
)
发表于 2024-4-30 16:57:01 | 显示全部楼层
以前做过一个管理命令用的管理器,专门做这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 04:27 , Processed in 0.157713 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表