明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2788|回复: 7

[VBA]用按钮来运行VBA工程

[复制链接]
发表于 2005-9-6 12:43:00 | 显示全部楼层 |阅读模式

谨以本人在农村电气信息化上发表的“如何在CAD图纸中快速插入杆号”一文中编的宏为例(此宏经本人多次修改,并请高手指点),以下是操作步骤:
1、打开AutoCAD2004,单击菜单栏上的“工具”菜单、指向“宏”、单击Visual Basic编辑器进入VB编辑状态。
2、在VB编辑状态单击菜单栏上的“插入”菜单、单击“模块”,在编辑窗口中输入以下代码:

Public Sub insertgh()

Dim sp(0 To 2) As Double

Dim textHeight As Double

Dim textStr As String

Dim textObj As AcadText

Dim gh As Integer

Dim varRet As Variant

On Error GoTo Err_Control

gh = ThisDrawing.Utility.GetInteger(vbCrLf & "命令:请输入起始杆号:")

textHeight = ThisDrawing.Utility.GetInteger("请输入文字高度:")

 Do While gh

    varRet = ThisDrawing.Utility.GetPoint(, "请选择插入点:")

    sp(0) = varRet(0)

    sp(1) = varRet(1)

    sp(2) = varRet(2)

    textStr = CStr(gh) & "#"

    Set textObj = ThisDrawing.ModelSpace.AddText(textStr, sp, textHeight)

    gh = gh + 1

  Loop

Err_Control:

  Err.Clear

  Exit Sub

End Sub

3、保存上述代码,(必须)为它重新取个工程名称:insertgh.dvb,保存在AUTOCAD  2004安装目录的Support文件夹,返回AUTOCAD工作界面。

4、用鼠标右键单击“绘图”工具栏,然后从弹出的快捷菜单中选择“自定义”选项,打开“自定义”对话框。单击“命令”选项卡,先选中对话框“分类”列表的用户定义,然后在“命令”列表中选中“用户定义的按钮”,拖动到绘图工具栏下方,出现一个空白的工具栏按钮。单击空白的工具栏按钮,弹出“自定义”对话框的“按钮特性”选项卡,在“名称”输入框中,键入杆号,在“说明”输入框中,键入插入杆号。在“与此关联的宏”输入框中,键入“^C^C-VBARUN insertgh.dvb!ThisDrawing.insertgh”。如果有兴趣,可以为按钮做个图标。单击“编辑按钮”,打开“按钮编辑器”对话框,用画笔画一个图标,本例本人画了一个如“#”号的图标,单击“保存按钮”,然后单击“关闭”按钮。在“按钮特性”选项卡中,单击“应用”按钮,这时图标图案就出现在自己建立的工具栏中。这时你编的按钮就可以应用了。

发表于 2005-9-6 13:03:00 | 显示全部楼层

好。

发表于 2005-9-8 11:42:00 | 显示全部楼层
不错
发表于 2005-9-9 16:36:00 | 显示全部楼层

加上之后怎么卸载掉

发表于 2005-9-9 17:02:00 | 显示全部楼层
测试通过,有些小问题,应该在模块1调用那个宏,“^C^C-VBARUN insertgh.dvb!模块1.insertgh”。消除那个按钮的方法只要往下拖拽就可以了,和vc里面的按钮消除方法一样!
 楼主| 发表于 2005-9-15 14:15:00 | 显示全部楼层
很抱歉,有点小错,不需要插入模块,直接双接ThisDrawing图标,然后录入代码即可。
发表于 2005-9-15 21:28:00 | 显示全部楼层

在2006里,在宏已经加载的情况下,“^C^C-VBARUN insertgh.dvb!ThisDrawing.insertgh”写成,“^C^C-VBARUN insertgh“就可以了

还可以选择自己喜欢的图标。

而且不存在经常出现的那个bug(加载窗体时,鼠标在绘图区不可见)了。看来还是新版本的好些。

真的好高兴,毕竟这个问题难了我很久,谢谢!

发表于 2008-9-12 08:12:00 | 显示全部楼层

谢谢大家分享这么好的东东。

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

本版积分规则

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

GMT+8, 2024-11-26 07:45 , Processed in 0.193150 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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