QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[已解决] vba与vb交互

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

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

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

x
vb代码中获取cad应用时用的if语句:. t/ T$ r1 v1 ^. u1 g4 O
SET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"7 {# k: z8 I# @! f  c6 \# q* q+ ]7 W
if err then, j/ V; r( }+ i
err.clear+ g5 u$ d8 n$ z6 G2 U0 A8 y0 e
set acadapp= createobject("AUTOCAD.APPLICATION")
; n' l9 q- d! P$ Y  p; L; u7 [END IF ! G' O+ ^4 ^' S4 u& ?6 Y7 ^4 W
这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层 来自: 中国江苏无锡
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层 来自: 中国广东惠州
引用了肯定的。在2004 和2008 都试过了。。
- g, a4 ^1 b, f# z* t& r每次错误都是在getobject语句,
6 ~% L# F. O" H: P% X$ Q如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif
8 N) l8 h8 ]9 ]# Y7 |* n( `+ y! A你引用ACAD类库了吗?

% E  o/ u  I0 s# w1 M  X: U引用了肯定的。在2004 和2008 都试过了。。3 ]8 M2 o  t9 W% n: [4 H( h$ F0 o
每次错误都是在getobject语句,& v! g" c" u" l% y  Y
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层 来自: 中国浙江杭州
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication
    % c; \& r9 r" D0 S5 G' `. P" l
  2. On Error Resume Next* Q# K2 v" q9 M" J+ R& k& t
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
    2 y1 V( W( r( C1 b. J( Y) S! i
  4. If Err Then
    ) \5 _/ g! j& W* ~- c$ s4 J' G
  5. Err.Clear
    " c( N7 N$ U7 f+ j7 ~' E0 J
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")/ w; R1 R2 ~. C  ]+ i- `
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层 来自: 中国广东惠州
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。6 L# Y* e" N0 G; Q
现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif# B/ n6 g/ i6 Q$ Q! y
下面的代码在我的电脑上运行是没有问题的
1 G; V0 N# j. H# i
ok,验证过了。谢谢  k* D4 Z7 `  u) j
On Error Resume Next
+ x) e. M0 s! [- R- LSet acadapp = GetObject(, "AUTOCAD.APPLICATION")
/ u) O/ |" }; N2 y" d9 \! J+ S( N. d这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层 来自: 中国江苏无锡
翻过来就不对了
" J- z/ R: `/ X1 c; Z2 c+ r% v, f必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif
5 |6 H/ x* `, K4 {翻过来就不对了/ {. V. @# z* v, S0 X& ^6 w
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做

6 |. K( Y) X2 p3 e2 @+ ]( k$ H我说呢。. G9 J6 f9 Q9 H5 v7 r% I
我以为是代码出错后执行出错陷阱然后再选择跳转呢。& {* y% m: M  i8 ?% f: a& v$ |
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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