运用VBA创建运用程序

  • 来源: 互联网 作者: somesun   2008-03-21/16:57
  •     实例1 最简单的VBA程序—“Hello.dvb”
        Step 1 创建新文件
        运行AutoCAD 2002系统,以“acadiso.dwt”为样板创建图形文件,并调用“vbaide”命令进入VBA环境;
        Step 2 创建窗体
        (1) 选择菜单【Insert(插入)】→【UserForm(用户窗体)】,编辑器将创建一个新的窗体,并显示在窗体窗口中。选择该窗体,然后在属性窗口中将“Caption”项改为“Draw Text”。
        (2) 在控件工具箱中单击 按钮,并在窗体的适当位置拖动鼠标,创建一个编辑框控件。
        (3) 在控件工具箱中单击 按钮,并在窗体的适当位置拖动鼠标,创建一个按钮控件。选择该控件后,在属性窗口中将“Caption”项改为“Click”。
        创建结果参见图37-6。


        Step 3 编写代码
        (1) 在窗体窗口中双击按钮控件,编辑器显示代码窗口,并提示用户输入代码,如图37-7所示。代码清单如下:
        Private Sub CommandButton1_Click()
        Dim TextObj As AcadText '定义文字对象变量
        Dim TextString As String '定义字符串变量
        Dim InsPnt(0 To 2) As Double '定义文字插入点数组变量
        Dim Height As Double '定义文字高度变量
        TextString = TextBox1.Text '字符串取值为编辑框中输入的文字
        '指定文字插入点位置和文字高度
        InsPnt(0) = 100: InsPnt(1) = 100: InsPnt(2) = 0
        Height = 15
       '在模型空间创建文字对象
        Set TextObj = ThisDrawing.ModelSpace.AddText(TextString, InsPnt, Height)
        TextObj.Color = acGreen '指定文字对象的颜色为绿色
        ZoomAll '缩放视图
        Unload Me '关闭窗体
        End Sub

        (2) 单击“Standard(标准)”工具栏中的 按钮,以“Hello.dvb”为名保存该文件。
        Step 4 运行VBA程序
        (1) 单击“Standard(标准)”工具栏中的 按钮运行该程序,系统将切换到AutoCAD窗口,并显示如图37-8所示的对话框。用户可在该对话框的编辑框中输入“Hello, VBA!”,并单击按钮,则将在当前图形中创建文字对象,结果如图37-9所示。

        实例说明
        如果用户退出VBA环境并返回AutoCAD系统窗口,则需要对该程序进行加载后才能运行。加载VBA程序的方式有如下几种:
        1. 选择菜单【Tools(工具)】→【Load Appcation…(加载应用程序)】,弹出“Load/Unload Applications(加载/卸载应用程序)”对话框。利用该对话框进行加载的过程与加载LISP程序相同。
        2. 选择菜单【Tools(工具)】→【Macro(宏)】→【Load Project…(加载工程)】,弹出“Open VBA Project(打开VBA工程)”对话框,用户可选择“Hello.dvb”文件并单击Open按钮进行加载。
        3. 选择菜单【Tools(工具)】→【Macro(宏)】→【VBA Manager…(VBA管理器)】,弹出“VBA Manager(VBA管理器)”对话框,如图37-10所示。

        该对话框中的“Drawing(图形)”下拉列表中显示了加载的所有图形文件。对于该列表中指定的图形文件,“Projects(工程)”列表显示了该文件中已加载的VBA程序,用户可单击 按钮载入其他的VBA程序。


    小 结
        本章主要介绍了AutoCAD ActiveX和VBA的概念和作用,并通过一个简单的实例讲述了在AutoCAD系统中开发VBA程序的过程。

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多