QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[已解决] vba与vb交互

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

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

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

x
vb代码中获取cad应用时用的if语句:
0 a6 ]7 Q  ^2 ^4 A& X+ ?SET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"
( b! k1 v& j6 \; [! Lif err then$ A8 T* X; t- F# J
err.clear
7 Y4 L8 L' H# U. {- N% Lset acadapp= createobject("AUTOCAD.APPLICATION")7 y. H4 U+ h2 l5 U% @4 X' A' E" X
END IF : ^/ g6 t  L1 e3 s0 s( K, u5 q3 @! T! C
这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层 来自: 中国江苏无锡
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层 来自: 中国广东惠州
引用了肯定的。在2004 和2008 都试过了。。
5 t: v7 g$ m; E0 P4 b! S: D& `每次错误都是在getobject语句,2 D2 J/ `6 S# s/ I
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif
: _# x9 m/ A3 \, Q  z3 A你引用ACAD类库了吗?
2 g9 `; S3 z/ ?2 ?6 ~' s8 v1 o
引用了肯定的。在2004 和2008 都试过了。。$ |: o' e, l/ d$ K- U' N9 _, m
每次错误都是在getobject语句,1 [& l% H! a; f, Y" X) Y
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层 来自: 中国浙江杭州
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication
    . n  Z# m* a( N0 a, F  S( a$ u
  2. On Error Resume Next5 U* ^8 W1 X: |; D! P- }
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")( ]* s/ k2 _/ A' Z
  4. If Err Then
    $ Q" w5 n, T8 ]- K5 u
  5. Err.Clear
    ( G" k( b. x7 r" U) S8 D( `* S7 z) e. K
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")4 {  \" E$ L# y
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层 来自: 中国广东惠州
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。+ \4 v- X$ {9 O: x" J  m
现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif
7 @/ P7 j5 ]7 a% C: ~下面的代码在我的电脑上运行是没有问题的

# ?- V5 a* G: I/ Mok,验证过了。谢谢1 }. J8 U: \) O
On Error Resume Next8 ^; V5 P1 U# d; D) z
Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
' v; G+ H4 m" S) H3 w这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层 来自: 中国江苏无锡
翻过来就不对了
! M2 U# E, r  {7 a$ P  l/ f必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif
4 ], v8 R% n' p2 R翻过来就不对了0 H7 _) J: F5 C: C0 u# z% m
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做

' v: ]7 t5 B. V. m! i我说呢。  B, k1 x5 D! k. u6 o& @8 ]8 I
我以为是代码出错后执行出错陷阱然后再选择跳转呢。/ o4 k- w) w: R. }2 Y
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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