liushengk 发表于 2004-5-14 17:59:00

[VBA]请教getpoint作用于对象IAcadUtility时失败

用LISP和VBA联合实现VBA的快揭运行,但是在userform1中的pnt=thisdrawing.utility.getpoint(,"getpoint...")语句执行时,Cad绘图窗口无光标,命令行无显示,按任何键无反应,按下Esc时报错“getpoint作用于对象IAcadUtility时失败”!谢了先!!

fangmin723 发表于 2020-4-18 21:24:34

把窗体的showmodal改成false
或者前后加Me.Hide和Me.show
Private Sub Pickwidhig_Click()
    Me.Hide
    Dim P1 As Variant, P2 As Variant, P3 As Variant, zwdoc As ZcadDocument
    Set zwdoc = ZWCAD.ZcadApplication.ActiveDocument
    P1 = zwdoc.Utility.GetPoint(, "请指定列宽起始点:")
    P2 = zwdoc.Utility.GetPoint(P1, "请指定行高起始(列宽结束)点:")
    P3 = zwdoc.Utility.GetPoint(P2, "请指定行高结束点:")
'    colwid.Text = Abs(P2(0) - P1(0))
'    rowhig.Text = Abs(P3(1) - P2(1))
    Me.show
End Sub

mccad 发表于 2004-5-14 20:38:00

必须先来个Me.Hide

liushengk 发表于 2004-5-19 12:22:00

用userform1.hide语句已经隐藏了的,还是不行!直接在VB编辑器里运行是可以实现点拾取的,请帮忙再看看!!

雪山飞狐_lzh 发表于 2004-5-19 12:37:00

代码呢?

liushengk 发表于 2004-5-19 13:03:00

在开始执行LIsp时,通过语句 userform1.show窗口显示正常,通过按钮b1实现点拾取时便出错,b1的click代码如下:


dim pnt vairent


userform1.hide


pnt=thisdrawing.utility.getpoint(,"getpoint...")


userform1.show


end sub


直接在VB编辑器里运行userform1是可以在Cad中实现点拾取的,但用Lisp调用时便出错了!!

今晚打老虎 发表于 2004-5-19 14:31:00

为什么不用VBA调用窗体呢?

雪山飞狐_lzh 发表于 2004-5-19 14:37:00

userform1改成me

liushengk 发表于 2004-6-21 11:44:00

改了还是不行!你们一般用什么方法调用VBA宏,哪位能再详细指点一下如何用Lisp调用VBA宏,感激!!

雪山飞狐_lzh 发表于 2004-6-21 11:45:00

(command "-vbarun" "宏名")

liushengk 发表于 2004-7-1 13:03:00

谢谢耐心讲解!再请问有单位格式(小数、角度、顺时针等)的环境变量吗?谢了先!
页: [1] 2
查看完整版本: [VBA]请教getpoint作用于对象IAcadUtility时失败