QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3118|回复: 8
收起左侧

[已解决] vba与vb交互

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

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

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

x
vb代码中获取cad应用时用的if语句:
0 G' z2 H1 }& b# ~, hSET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"
) A- l* J, L# i4 Nif err then0 d5 d, w; Y4 m9 L4 {; S% n
err.clear
3 q( O, H2 d; i8 f6 t8 D" xset acadapp= createobject("AUTOCAD.APPLICATION")
+ n. k  K6 K/ _; }# g* o" ^END IF - O3 b  C* i% @: C2 X5 ~. Z: ~
这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层 来自: 中国江苏无锡
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层 来自: 中国广东惠州
引用了肯定的。在2004 和2008 都试过了。。0 m5 {% Q6 M0 `/ H5 h
每次错误都是在getobject语句,& h. X* y4 k! _
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif
: J. O4 w. `1 S' j, ^# v你引用ACAD类库了吗?
$ Z3 L* T9 e+ L  w
引用了肯定的。在2004 和2008 都试过了。。
* H3 O' E) X8 n5 i) B; f% ~' K每次错误都是在getobject语句,
" _4 _1 l  a4 i' {$ n如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层 来自: 中国浙江杭州
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication+ [. U# d5 F0 y6 V$ G
  2. On Error Resume Next
    6 K% ^' e6 f$ O. J
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
    ( F5 ~  w% S- q& y' G1 n+ N
  4. If Err Then+ E0 T$ a: X) \; j( X& _4 q
  5. Err.Clear
    " W' F3 _, W8 m4 k4 \: R
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")
    8 a# [0 H0 @! L8 O6 I) }9 R" k  Y
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层 来自: 中国广东惠州
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。& v1 p, ^) t; _; ^) r8 X7 [$ a
现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif3 I# }4 n0 s7 u% O' e/ ^6 P
下面的代码在我的电脑上运行是没有问题的

8 s' \" V& Z( _9 [ok,验证过了。谢谢9 G% l! o" x% z& ]  p2 i5 F  @
On Error Resume Next
( Q0 {% ?9 ^- CSet acadapp = GetObject(, "AUTOCAD.APPLICATION")
% a6 @( \0 p2 I/ X" K3 ^* I; D这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层 来自: 中国江苏无锡
翻过来就不对了
5 Z- f. \) R- z* e) a; _必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif- G% ]9 B7 O7 ~% T
翻过来就不对了- r0 B2 n8 c' A, R# H' s) o) C
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
4 F+ E: B( R# K: N! A' J8 `
我说呢。
$ ^' d! i1 j+ x* B# l$ X我以为是代码出错后执行出错陷阱然后再选择跳转呢。1 ?5 X0 }- ~/ _5 {4 E
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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