pyqzww 发表于 2003-5-24 12:29:00

efan版主

为什么我运行宏的时候,系统总是提示说“子程序或函数没有定义,”?

efan2000 发表于 2003-5-24 21:46:00

把代码贴出来看看。

pyqzww 发表于 2003-5-25 09:30:00

请检查!

总的意思是:在图形下用鼠标点取一点,立即弹出一个窗体,窗体里显示这点所在面的属性!
在ThisDrawing 下的代码为:Sub ShowForm()
                              Form1.Show
                           End sub
在UserForm下的代码是:Sub Userform_Initialize()
                        Form1.TextBox1 = 2
                        Form1.TextBox2 = "外圆“
                        Form1.TextBox3 = 45
                      EndSub
在模块下的代码是:Sub Formshow()
                      Dim Pt As Varient
                      Dim PtPosition(0 to 2) As Double
                      Pt = ThisDrawing.Utility.GetPoint()
                      If PtPosition(0)>200 And PtPosition(0)<400Then
                         Userform_Initialize()
                         Form1.Show
                   End Sub
还有就是为什么我用命令绘制的圆柱而左下脚的坐标怎么只显示X,Y的坐标而不显示Z的坐标

efan2000 发表于 2003-5-25 21:12:00

弹出窗体用Form.Show方法即可。

在过程Formshow中,Userform_Initialize这个调用是没有必要的。直接用Form1.Show,窗体会自动调用Initialize过程。
上面的程序可以整合一下。
Sub Formshow()
    Dim Pt As Variant
   
    On Error GoTo ErrTrap
    Pt = ThisDrawing.Utility.GetPoint(, "指定点: ")
    If Pt(0) > 200 And Pt(0) < 400 Then
      Form1.TextBox1 = 2
      Form1.TextBox2 = "外圆“ "
      Form1.TextBox3 = 45
      Form1.Show
    End If
    Exit Sub

ErrTrap:
    On Error GoTo 0
End Sub
状态栏上显示的鼠标位置的坐标跟当前的坐标系有关,默认的是世界坐标系,在图纸中仅显示X和Y坐标,如果要显示Z坐标,应将坐标系设为三维的。

pyqzww 发表于 2003-5-28 11:15:00

efan版主,ElseIf,这样用行吗?

首先谢谢版主帮我解决了难题!
    If Condition1 Then
       代码1
    ElseIf Condition2 Then
       代码2
    ElseIf Condition3 Then
       代码3
    ElseIf Condition4 Then
       代码4
一直这样用ElseIf行吗?

efan2000 发表于 2003-5-28 13:09:00

在If语句中可以省略Else部分。

页: [1]
查看完整版本: efan版主