乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 133|回复: 6

cad中运行vba的简单途径

[复制链接]

6

主题

59

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
83
发表于 2012-9-12 16:59:00 | 显示全部楼层 |阅读模式
想请问一下各位大侠:
   在cad中要运行vba能不能像在excel那样通过一个控件或者窗体按钮点下即可运行,这样会很方便。
   我现在运行vba都是alt+f11打开vbe,然后f5运行,我自己用还好,但是对于一些不会vba的,他们会不知道怎么运行。
  初学vba for cad,望各位不吝赐教,谢谢!
                                           sscylh
回复

使用道具 举报

13

主题

113

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
166
发表于 2012-9-12 19:50:00 | 显示全部楼层
可以做成命令,放到菜单栏里,用菜单按钮直接调用。
回复

使用道具 举报

1

主题

6

帖子

1

银币

初来乍到

Rank: 1

铜币
10
发表于 2012-10-13 20:29:00 | 显示全部楼层
你看一下自定义菜单  应该可以的
回复

使用道具 举报

0

主题

58

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 2012-10-14 23:20:00 | 显示全部楼层

打开 WINDOWS 记事本程序,写入以下代码
  1. (defun s::startup ()
  2.   (arxload "acvba")
  3. )
保存在CAD支持文件搜索目录中,文件名为"acad.lsp"
打开VBAIDE,编写一个创建自定义菜单和(或)工具栏的程序
  1. Sub AcadStartup()
  2.     Dim MyMenu As AcadPopupMenu, MyToolbar As AcadToolbar, MyToolButton As AcadToolbarItem, Macro As String
  3.    
  4.     '运行用户二次开发VBA程序 "a.dvb!MyProgram" 的命令宏字符串,相当于在CAD命令行键入的内容
  5.     Macro = "-vbarun " & Chr(34) & "a.dvb!MyProgram" & Chr(34) & vbCr
  6.     '在"自定义"菜单组中创建新菜单和工具栏,也可以在其它菜单组(如"ACAD")中创建,随意
  7.     With MenuGroups.Item("CUSTOM")
  8.         '创建菜单
  9.         Set MyMenu = .Menus.Add("我的菜单")
  10.         '把新建的菜单插入到ACAD菜单栏的第11列.索引(位置)可以任意,但不得超过原有下拉菜单的数量
  11.         .Menus.InsertMenuInMenuBar "我的菜单", 10
  12.         '在新菜单中添加关联到运行VBA程序 "a.dvb!MyProgram" 的菜单项
  13.         MyMenu.AddMenuItem 0, "我的宏1(&M)", Macro
  14.         '创建工具栏
  15.         Set MyToolbar = .Toolbars.Add("我的工具栏")
  16.         '工具栏可见
  17.         MyToolbar.Visible = True
  18.         '在新工具栏中添加关联到运行VBA程序 "a.dvb!MyProgram" 的按钮
  19.         Set MyToolButton = MyToolbar.AddToolbarButton(0, "我的宏1", "VBA宏1(工具按钮提示字符串)", Macro)
  20.         '为按钮添加位图图像
  21.         MyToolButton.SetBitmaps "小图标(16*16像素)位图文件路径和文件名", "大图标(32*32像素)位图文件路径和文件名"
  22.     End With
  23. End Sub

把上面的VBA工程文件同样保存在CAD支持文件搜索目录中,文件名为"acad.dvb"
上面代码中自定义菜单名称,菜单项名称,自定义工具栏名称,按钮名称均为示例.
代码第5行中"a.dvb!MyProgram"是与该新建的菜单项和工具栏按钮关联的运行用户指定VBA程序的工程文件名和宏名称.该文件名和宏名称均为示例
如果该用户指定的VBA工程文件不在CAD支持文件搜索目录中,则应包含完整路径;如该工程文件中包含多个模块且不同模块中存在同名宏,则宏名称中应包含模块名称.如"D:\我的VBA程序\c.dvb!thisdrawing.d"
代码中只新建了一个菜单项和一个工具栏按钮,实际使用时可根据需要创建多个
使用方法
ACAD软件启动时,会在支持文件搜索目录中自动搜索加载"acad.lsp"文件并运行其中的"s::startup"程序,该程序会令CAD加载VBA模块,进而在支持文件搜索目录中自动搜索加载"acad.dvb"文件并运行其中的"AcadStartup"VBA宏,达到在CAD图形界面添加自定义菜单和(或)工具栏的目的.用户使用时只要点击相应的菜单项或工具栏按钮,就可方便地运行指定的VBA程序.
回复

使用道具 举报

4

主题

12

帖子

4

银币

初来乍到

Rank: 1

铜币
28
发表于 2012-10-15 09:32:00 | 显示全部楼层
完全可以自定义工具按钮的。
回复

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
2
发表于 2014-11-12 14:04:00 | 显示全部楼层
这个适用于2012版不
回复

使用道具 举报

3

主题

7

帖子

3

银币

初来乍到

Rank: 1

铜币
19
发表于 2015-8-18 07:24:00 | 显示全部楼层
学习了,这个新手很实用
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-4-20 05:19 , Processed in 3.097712 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表