实例1最简单的VBA程序—“Hello.dvb”
Step1创建新文件
运行AutoCAD2002系统,以“acadiso.dwt”为样板创建图形文件,并调用“vbaide”命令进入VBA环境;
Step2创建窗体
(1)选择菜单【Insert(插入)】→【UserForm(用户窗体)】,编辑器将创建一个新的窗体,并显示在窗体窗口中。选择该窗体,然后在属性窗口中将“Caption”项改为“DrawText”。
(2)在控件工具箱中单击按钮,并在窗体的适当位置拖动鼠标,创建一个编辑框控件。
(3)在控件工具箱中单击按钮,并在窗体的适当位置拖动鼠标,创建一个按钮控件。选择该控件后,在属性窗口中将“Caption”项改为“Click”。
创建结果参见图37-6。
Step3编写代码
(1)在窗体窗口中双击按钮控件,编辑器显示代码窗口,并提示用户输入代码,如图37-7所示。代码清单如下:
PRivateSubCommandButton1_Click()
DimTextObjAsAcadText'定义文字对象变量
DimTextStringAsString'定义字符串变量
DimInsPnt(0To2)AsDouble'定义文字插入点数组变量
DimHeightAsDouble'定义文字高度变量
TextString=TextBox1.Text'字符串取值为编辑框中输入的文字
'指定文字插入点位置和文字高度
InsPnt(0)=100:InsPnt(1)=100:InsPnt(2)=0
Height=15
'在模型空间创建文字对象
SetTextObj=ThisDrawing.ModelSpace.AddText(TextString,InsPnt,Height)
TextObj.Color=acGreen'指定文字对象的颜色为绿色
ZoomAll'缩放视图
UnloadMe'关闭窗体
EndSub
(2)单击“Standard(标准)”工具栏中的
按钮,以“Hello.dvb”为名保存该文件。Step4运行VBA程序
(1)单击“Standard(标准)”工具栏中的
按钮运行该程序,系统将切换到AutoCAD窗口,并显示如图37-8所示的对话框。用户可在该对话框的编辑框中输入“Hello,VBA!”,并单击按钮,则将在当前图形中创建文字对象,结果如图37-9所示。实例说明
如果用户退出VBA环境并返回AutoCAD系统窗口,则需要对该程序进行加载后才能运行。加载VBA程序的方式有如下几种:
1.选择菜单【Tools(工具)】→【LoadAppcation…(加载应用程序)】,弹出“Load/Unloadapplications(加载/卸载应用程序)”对话框。利用该对话框进行加载的过程与加载LISP程序相同。
2.选择菜单【Tools(工具)】→【Macro(宏)】→【LoadProject…(加载工程)】,弹出“OpenVBAProject(打开VBA工程)”对话框,用户可选择“Hello.dvb”文件并单击Open按钮进行加载。
3.选择菜单【Tools(工具)】→【Macro(宏)】→【VBAManager…(VBA管理器)】,弹出“VBAManager(VBA管理器)”对话框,如图37-10所示。
该对话框中的“Drawing(图形)”下拉列表中显示了加载的所有图形文件。对于该列表中指定的图形文件,“Projects(工程)”列表显示了该文件中已加载的VBA程序,用户可单击按钮载入其他的VBA程序。
小结
本章主要介绍了AutoCADActiveX和VBA的概念和作用,并通过一个简单的实例讲述了在AutoCAD系统中开发VBA程序的过程。