QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
查看: 2757|回复: 8
收起左侧

[已解决] vba与vb交互

[复制链接]
发表于 2013-7-17 16:38:54 | 显示全部楼层 |阅读模式

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

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

x
vb代码中获取cad应用时用的if语句:
% K) j- h$ E, {: A- F* @4 V2 i' m6 Y! fSET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"( B; ]/ R' d* O& x: t* y
if err then+ i2 U3 f  h3 @8 |$ v
err.clear
  R2 d* H, \! m2 eset acadapp= createobject("AUTOCAD.APPLICATION")
* R6 X. T+ s/ u( h9 ?END IF 0 H, r" r) T8 F0 Q) f+ I9 w( N
这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层
引用了肯定的。在2004 和2008 都试过了。。
# ^) ~) E: ]/ H) _4 H2 M每次错误都是在getobject语句,& J- ~/ o# _+ W# @
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif
9 p/ y" L  [# {" o; g; @9 |8 r你引用ACAD类库了吗?

9 j( T4 v4 F# O+ Z5 L引用了肯定的。在2004 和2008 都试过了。。
9 m/ f% A3 k2 B, g每次错误都是在getobject语句,
1 l  }# L  ]! ~# R如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication
    0 |& h' }4 A- w* a, H' P( J5 F! d
  2. On Error Resume Next
    * k" z; ]% j# R( t  V% V
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
    " L9 W+ Y% I5 R  ^! Y0 T
  4. If Err Then
    $ L5 v$ `* [1 ~* {
  5. Err.Clear5 _; w3 c* k6 [/ `  C+ m8 n0 c
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")
      `& X" h* m% c3 \: g+ k% `
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。
3 B6 ]0 w# w4 A! P/ U; K现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif( h2 c; B9 q+ \1 ^; u1 @; `: \
下面的代码在我的电脑上运行是没有问题的
2 m4 H/ r/ |4 X. h8 Z3 t
ok,验证过了。谢谢
% s2 w' O6 V+ u4 rOn Error Resume Next1 ]' r! W9 U% Y, P2 S2 N5 V4 y2 C
Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
# _8 _% _- v- n7 f1 o5 t+ j这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层
翻过来就不对了+ F6 U% F9 }: J7 l) R
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif2 L4 m& `, }/ ^# N! Q! y  Z0 q/ Q
翻过来就不对了5 [: C7 h# y) Z. I9 t( o
必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做

) C8 J" T0 a, z- v我说呢。. L1 f  E/ B; G$ @" W; W
我以为是代码出错后执行出错陷阱然后再选择跳转呢。
; O% K+ g+ k. `
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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