QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[已解决] vba与vb交互

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

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

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

x
vb代码中获取cad应用时用的if语句:+ V( i) {# P% S7 h( B
SET ACADAPP=GETOBJECT(,"AUTOCAD.APPLICATION"' Z: W+ J( }- w
if err then
+ q2 ?0 R7 i8 i& O! g  S" [; aerr.clear7 k- v: N6 p; `$ i; J
set acadapp= createobject("AUTOCAD.APPLICATION")
7 |: J$ C' F, P- ~END IF
. e" H* g2 @8 C  A/ N/ A0 S: d/ O% w这个语句怎么不执行呢?每次getobject时会出现控件错误的提示框,问题出在哪里啊,求解释;)
发表于 2013-7-17 22:11:32 | 显示全部楼层 来自: 中国江苏无锡
你引用ACAD类库了吗?
 楼主| 发表于 2013-7-18 10:56:56 | 显示全部楼层 来自: 中国广东惠州
引用了肯定的。在2004 和2008 都试过了。。$ U, B: Z0 g  g( p& l
每次错误都是在getobject语句,  O, `& _4 X9 b; T. T- w( j- \
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
 楼主| 发表于 2013-7-18 10:57:33 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-17 22:11 static/image/common/back.gif
& S+ U7 P/ Y  R+ @9 \% R你引用ACAD类库了吗?
6 ~2 w) `5 g9 k, t- Z  M: g7 `" p  H
引用了肯定的。在2004 和2008 都试过了。。
( N# [# K; g% ~9 `# U) Q* C每次错误都是在getobject语句,9 p; G+ @; s3 g9 `
如果不写第一句和if语句直接(createobject语句)就能够打开cad并运行代码。
发表于 2013-7-18 21:50:35 | 显示全部楼层 来自: 中国浙江杭州
下面的代码在我的电脑上运行是没有问题的
  1. Dim acadapp As AcadApplication: N" s: h' f0 ?
  2. On Error Resume Next
    5 d9 p6 z5 b* i
  3. Set acadapp = GetObject(, "AUTOCAD.APPLICATION")
    8 l2 D" w. K: j7 S' s2 l
  4. If Err Then* [$ x" F) O- F4 k: v
  5. Err.Clear
    0 c. Y5 _! G  `" z6 R
  6. Set acadapp = CreateObject("AUTOCAD.APPLICATION")
    % t9 W5 M4 n2 W6 t: U" l( Z# i
  7. End If
复制代码
 楼主| 发表于 2013-7-19 08:56:47 | 显示全部楼层 来自: 中国广东惠州
on error resume next 语句我曾经加在getobject语句下面尝试,没有效果。。
/ ]! p6 L7 K+ o8 C现在写在首行,要去测试一下,谢谢奉上先
 楼主| 发表于 2013-7-20 09:34:48 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-18 21:50 static/image/common/back.gif: Z+ z7 x8 _5 c* w
下面的代码在我的电脑上运行是没有问题的

/ ~) @, `9 g  F% iok,验证过了。谢谢
& t( m, C! c7 ]( w' w% E+ HOn Error Resume Next
1 e. ]2 ?' V5 s' i7 ?' j5 R/ R" YSet acadapp = GetObject(, "AUTOCAD.APPLICATION")" P. }* m# n0 P1 n1 P5 w
这两句以前我试过,不过顺序翻过来试的
发表于 2013-7-20 14:51:07 | 显示全部楼层 来自: 中国江苏无锡
翻过来就不对了
8 e2 y, V3 J8 O必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
 楼主| 发表于 2013-7-22 11:22:26 | 显示全部楼层 来自: 中国广东惠州
woaishuijia 发表于 2013-7-20 14:51 static/image/common/back.gif
: \; d9 V! P' g8 q翻过来就不对了
  A0 H9 f$ q  V/ X' T2 b; `必须在可能出错的代码的前面告诉电脑遇到错误时应该怎么做
& t/ r4 v5 _5 \2 I1 c4 S9 ~& N
我说呢。/ |+ E5 h2 r7 |: Q$ D/ h
我以为是代码出错后执行出错陷阱然后再选择跳转呢。
. H) Y* ]1 L3 x7 J4 b- {0 |
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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