QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 2998|回复: 8
收起左侧

[已解决] vba与vb交互

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

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

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

x
vb代码中获取cad应用时用的if语句:. R. c" b) H2 ^( \; e
SET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"
) k* @. _* Z+ A+ R( O% Vif err then
( u( ?/ {8 I; O- w: Q! Zerr.clear
2 q, W4 ]$ c$ Bset acadapp= createobject("AUTOCAD.APPLICATION")% |5 z( y) E" a! E. u) ~, P$ e! |
END IF . i( S% h6 J- E* {: C
这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层 来自: 中国江苏无锡
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层 来自: 中国广东惠州
引用了肯定的。在2004 和2008 都试过了。。' p( X! Q. O) _" S4 C3 X. g
每次错误都是在getobject语句,
4 q) S- v7 ~3 e' Z( h1 G1 u- u' w如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif
3 P0 O6 ~% \3 c, a" V( \你引用ACAD类库了吗?
1 i1 a3 s# c. G: z+ ?( t
引用了肯定的。在2004 和2008 都试过了。。
+ ?; M. m$ T, l# V2 [% q每次错误都是在getobject语句,9 Z" C1 X4 L2 E6 ]. u
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层 来自: 中国浙江杭州
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication3 i( [! a& d0 W
  2. On Error Resume Next  z4 I  t" |# O; @
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
    8 j) P6 P7 N, n5 z5 Q" J
  4. If Err Then$ j# V9 I$ P) a  K  I7 H
  5. Err.Clear4 q+ b$ k/ N1 G
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")
      Q; G) ~8 }, j- n$ J
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层 来自: 中国广东惠州
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。
& d2 Q' `" w- W1 h0 Q7 |+ }4 `现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif1 Z; E0 a& D- @1 B2 m6 a/ W
下面的代码在我的电脑上运行是没有问题的

( U3 B; W9 F, z" b2 i/ D: S- u$ Pok,验证过了。谢谢( F7 V. g. k7 n, A) C
On Error Resume Next! S9 q. V, V$ U: L
Set acadapp = GetObject(, "AUTOCAD.APPLICATION")' c/ x; W  ]: J* T
这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层 来自: 中国江苏无锡
翻过来就不对了
5 N: Q4 Q* n& ~$ i. a必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif2 E8 e( x; N- B
翻过来就不对了7 W8 J/ c$ ^5 R: E4 z& O
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做

+ t* A9 `$ Z6 J我说呢。; K# M9 g1 {- H
我以为是代码出错后执行出错陷阱然后再选择跳转呢。
( b0 C- r! j% _4 G, c8 ?. ?' X  S8 f
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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