QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[已解决] vba与vb交互

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

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

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

x
vb代码中获取cad应用时用的if语句:
) Z. x2 V& t/ j7 P- w7 ?( ?SET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"
! _4 b5 i; ~* f4 q& `if err then
* Y+ r$ q6 Y# Q8 H' V( ierr.clear4 L1 |# @- H: T/ U  M" z
set acadapp= createobject("AUTOCAD.APPLICATION")
/ a8 X% `2 A; q! Y8 u, qEND IF : |5 ?3 ~# }0 w4 W, d" k
这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层 来自: 中国江苏无锡
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层 来自: 中国广东惠州
引用了肯定的。在2004 和2008 都试过了。。& m0 v' ~9 Z, d' `( Q+ r
每次错误都是在getobject语句,
( m+ M% x! S" D9 U& O* }如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif
7 s* X* S* W* m8 q: w你引用ACAD类库了吗?

8 \6 W3 r) N  C5 H' B8 c引用了肯定的。在2004 和2008 都试过了。。
. s# v! W7 C" l2 P每次错误都是在getobject语句,
2 \* M# x9 h- c8 F; Y3 w7 L如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层 来自: 中国浙江杭州
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication
    0 d" Q# l1 f! C4 p1 R) C
  2. On Error Resume Next2 J9 N1 m* Q9 c  {; V9 q0 L4 k( r
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")  V9 ?9 o+ v7 \! ?# [/ V
  4. If Err Then: T6 A8 A  n; q7 j
  5. Err.Clear
    $ K" p! f7 q7 c, I! A
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")7 L3 Z3 t8 Q# k9 h: X: Y* x
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层 来自: 中国广东惠州
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。. [) G' t( w1 e. ]+ ~+ }. _( v
现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif
' o( t" W: s( _下面的代码在我的电脑上运行是没有问题的

; c/ }6 s/ B+ n0 n0 H  w. b- zok,验证过了。谢谢' k! W8 T* G4 c' I) i' B- @; g
On Error Resume Next5 v4 n2 R3 C1 X$ v/ k' ~* C$ s8 D+ ]
Set acadapp = GetObject(, "AUTOCAD.APPLICATION")6 K7 A9 j) k$ Y
这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层 来自: 中国江苏无锡
翻过来就不对了
$ O2 w" D6 p( g& b/ b必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif
) e% y# A3 Y+ I' f0 b; y8 d翻过来就不对了" ]9 U/ T! w5 k. j  v  @& k8 ^
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做

. g: z" T* G2 U0 l) R& h7 ]我说呢。
5 |! @( \+ i( G% a我以为是代码出错后执行出错陷阱然后再选择跳转呢。
- i, ?( T4 [) k$ ?9 v
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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