QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 3106|回复: 8
收起左侧

[已解决] vba与vb交互

[复制链接]
发表于 2013-7-17 16:38:54 | 显示全部楼层 |阅读模式 来自: 中国广东惠州

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
vb代码中获取cad应用时用的if语句:
! w- a3 e, G- c% l- h* T  b$ RSET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"
. o8 H. Z, y5 m# {) t& Wif err then2 L9 C) {: T" [/ B
err.clear
1 G) |4 U; w/ {/ {; O, H  oset acadapp= createobject("AUTOCAD.APPLICATION")
7 l* Q6 M: b. X  C& FEND IF
  u/ `$ p. y8 b- v这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层 来自: 中国江苏无锡
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层 来自: 中国广东惠州
引用了肯定的。在2004 和2008 都试过了。。# ?  j- W. [+ d- e
每次错误都是在getobject语句,* c2 s7 t  W1 p2 a
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif
" ?$ ?/ l* ^# z3 k* \  n: y8 }你引用ACAD类库了吗?
! h: q( F; ~1 M: u! F
引用了肯定的。在2004 和2008 都试过了。。
. a; h9 i+ _  A2 Y每次错误都是在getobject语句,& G1 I5 Y: _! t9 P" N( {& c
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层 来自: 中国浙江杭州
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication' R& U/ s9 ?/ I: ]. B# }8 }
  2. On Error Resume Next
    0 B& P% T, H! F8 ]* `
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")- U4 H# D6 f" E$ l; M
  4. If Err Then
    , V  |$ O: j0 d8 P9 @$ l
  5. Err.Clear
    9 R; t7 @7 h: A+ S" A5 q
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")5 J; K2 U1 u# p3 r# U
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层 来自: 中国广东惠州
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。
/ C! `- ^- }7 H* l! u  H现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif
# D( k7 v) U' l1 |下面的代码在我的电脑上运行是没有问题的
/ E6 l) ^/ T  E% o0 O, x# K5 w2 ]
ok,验证过了。谢谢
' D8 P0 O6 f! `# g) Z6 H0 r. q1 v/ xOn Error Resume Next* T( r' g# o1 B0 v8 ~
Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
5 x: X2 K+ E  M4 [" \这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层 来自: 中国江苏无锡
翻过来就不对了3 U( M, N( f! \
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif; L* l5 L* F/ m; W& M; s0 t
翻过来就不对了
- L7 d6 y& U) U! y# m必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做

6 p& _* k: `+ n6 @( ^我说呢。
4 S# ^( l* U3 x& @我以为是代码出错后执行出错陷阱然后再选择跳转呢。
* X& R0 N6 q, u4 |& Y# S
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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