QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[已解决] vba与vb交互

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

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

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

x
vb代码中获取cad应用时用的if语句:
4 B+ W8 Z- M) rSET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"
% X% s. o" ^2 L+ V5 x- B. U7 Qif err then
6 p" E$ J5 o) t6 d  t! f$ k' q% @) Rerr.clear1 b" r- L9 j( u$ O+ i2 y
set acadapp= createobject("AUTOCAD.APPLICATION"), J$ M! _4 c* m) z0 G
END IF / A* [. r1 Z" o9 C
这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层 来自: 中国江苏无锡
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层 来自: 中国广东惠州
引用了肯定的。在2004 和2008 都试过了。。# t. p+ g7 h  Y4 V, B8 l, q
每次错误都是在getobject语句,
1 K3 c6 y' k$ x% B  N' B: s6 c如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif
4 ~; u* W3 b8 ~5 B9 u- X你引用ACAD类库了吗?
5 \; b  T/ a% B% N. e- g. ^4 \3 k
引用了肯定的。在2004 和2008 都试过了。。) t" ^) L2 }6 |- w
每次错误都是在getobject语句,
7 w2 W. v- n5 S6 ?. o$ r如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层 来自: 中国浙江杭州
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication& O% T9 R8 K4 s7 M5 G
  2. On Error Resume Next
    4 T0 J4 [2 ~, i$ n1 h$ N
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
    - f, `" N: |6 f# |8 O; v) b- d* M
  4. If Err Then- }  _7 g  @) T4 p$ L1 x
  5. Err.Clear1 v( n# g9 E1 L) B# m$ z
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")
    - @$ n! O) H5 y2 v
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层 来自: 中国广东惠州
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。; \  y/ C$ T6 }) }6 R0 m
现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif9 {1 A. X% u% T" g( u( ?9 y1 P
下面的代码在我的电脑上运行是没有问题的

$ m% L! _, P: f- D) Ook,验证过了。谢谢
1 F1 i- f0 w+ sOn Error Resume Next
: r1 V; B# B& |; D# N* LSet acadapp = GetObject(, "AUTOCAD.APPLICATION")
( N0 ?1 R1 Z9 L/ N6 `+ a3 ?, A' n这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层 来自: 中国江苏无锡
翻过来就不对了( c) ~  _8 a4 K5 d' P
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif4 C  _5 c9 y& o8 r; D. s
翻过来就不对了
0 y9 g! q& v$ r9 H" e必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
8 D, Y' \2 i$ Z
我说呢。
) q: Q% ]( B, ^% F& ~我以为是代码出错后执行出错陷阱然后再选择跳转呢。0 g) ?* f. a, \: J7 Q, \2 _
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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