明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5192|回复: 11

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

  [复制链接]
发表于 2004-5-14 17:59:00 | 显示全部楼层 |阅读模式
用LISP和VBA联合实现VBA的快揭运行,但是在userform1中的pnt=thisdrawing.utility.getpoint(,"getpoint...")语句执行时,Cad绘图窗口无光标,命令行无显示,按任何键无反应,按下Esc时报错“getpoint作用于对象IAcadUtility时失败”!谢了先!!
发表于 2020-4-18 21:24:34 | 显示全部楼层
把窗体的showmodal改成false
或者前后加Me.Hide和Me.show
  1. Private Sub Pickwidhig_Click()
  2.     Me.Hide
  3.     Dim P1 As Variant, P2 As Variant, P3 As Variant, zwdoc As ZcadDocument
  4.     Set zwdoc = ZWCAD.ZcadApplication.ActiveDocument
  5.     P1 = zwdoc.Utility.GetPoint(, "请指定列宽起始点:")
  6.     P2 = zwdoc.Utility.GetPoint(P1, "请指定行高起始(列宽结束)点:")
  7.     P3 = zwdoc.Utility.GetPoint(P2, "请指定行高结束点:")
  8. '    colwid.Text = Abs(P2(0) - P1(0))
  9. '    rowhig.Text = Abs(P3(1) - P2(1))
  10.     Me.show
  11. End Sub
发表于 2004-5-14 20:38:00 | 显示全部楼层
必须先来个Me.Hide
 楼主| 发表于 2004-5-19 12:22:00 | 显示全部楼层
用userform1.hide语句已经隐藏了的,还是不行!直接在VB编辑器里运行是可以实现点拾取的,请帮忙再看看!!
发表于 2004-5-19 12:37:00 | 显示全部楼层
代码呢?
 楼主| 发表于 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调用窗体呢?
发表于 2004-5-19 14:37:00 | 显示全部楼层
userform1改成me
 楼主| 发表于 2004-6-21 11:44:00 | 显示全部楼层
改了还是不行!你们一般用什么方法调用VBA宏,哪位能再详细指点一下如何用Lisp调用VBA宏,感激!!
发表于 2004-6-21 11:45:00 | 显示全部楼层
(command "-vbarun" "宏名")
 楼主| 发表于 2004-7-1 13:03:00 | 显示全部楼层
谢谢耐心讲解!再请问有单位格式(小数、角度、顺时针等)的环境变量吗?谢了先!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 05:41 , Processed in 0.164253 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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