QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[已解决] vba与vb交互

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

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

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

x
vb代码中获取cad应用时用的if语句:
: E" P$ O8 r- mSET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"
8 P- r: J, D( g  W- _if err then
: n+ Z. |/ {! D, X% w" nerr.clear6 ?3 t2 u( f& K# f( G' z/ O( B/ ~
set acadapp= createobject("AUTOCAD.APPLICATION")
; J( v# C/ o& }# z% ]+ WEND IF - ?" _% B1 z1 w( H( N$ ^
这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层 来自: 中国江苏无锡
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层 来自: 中国广东惠州
引用了肯定的。在2004 和2008 都试过了。。4 W" q3 |+ C2 y* }: f& V
每次错误都是在getobject语句,) h. Z' ~6 s' h) B
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif6 J' R& ?+ J7 F9 p* z
你引用ACAD类库了吗?
+ |" D+ q7 w* P  C7 I7 @! _3 H
引用了肯定的。在2004 和2008 都试过了。。
6 B% `  h" M0 _# U) X, ~每次错误都是在getobject语句,
3 `9 Z" b; N) [- N% i如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层 来自: 中国浙江杭州
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication
    ! Z5 l5 S! ~, r! c2 E
  2. On Error Resume Next; s; U: Z: q- y. d. x  J, @/ U% f
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
    : t  @- S0 B" M. g3 w3 v
  4. If Err Then/ h( d4 n" j' w9 H' d
  5. Err.Clear; H$ W& c& [9 Z6 I8 y$ N4 [
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")) A; F4 H% n# @% e- r
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层 来自: 中国广东惠州
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。- K; i; V" E0 x  g
现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif
" G0 I5 Y% L# v+ \) r下面的代码在我的电脑上运行是没有问题的

6 ~% G5 u& T7 V; wok,验证过了。谢谢6 Y2 M/ @2 ^6 x% i6 _' H
On Error Resume Next/ M" h  W8 F- s( C
Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
1 T5 w5 |1 g6 }3 {这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层 来自: 中国江苏无锡
翻过来就不对了6 J8 Q5 z, [6 q# o; x6 s8 d1 _9 K
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif( H- h6 i+ z9 G5 M  M
翻过来就不对了
' e. e  Q- S" a: ~必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
0 \8 P( U# a- U8 K2 s; `) g
我说呢。
4 G* T# m) z1 B我以为是代码出错后执行出错陷阱然后再选择跳转呢。
8 r5 G( H# d& U& |
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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