QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1217|回复: 2
收起左侧

[求助] 关于宏问题

[复制链接]
发表于 2015-8-10 11:42:31 | 显示全部楼层 |阅读模式 来自: 中国广东深圳

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

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

x
如下代码:0 O1 D* b6 z, {: a
Dim swApp As Object8 b0 a8 D* E0 b4 X9 U
Dim Part As Object- v, j7 L7 l( _
Dim boolstatus As Boolean
/ P/ O! j' \0 x7 o& tDim longstatus As Long, longwarnings As Long% b7 L% s; h+ i) w/ m0 X8 t( W0 i
Sub main()9 A% d1 F1 _+ S! S1 j
Set swApp = Application.SldWorks0 F6 g& m& z* k* V8 i9 ~! ]
Set Part = swApp.ActiveDoc+ a" _1 z& |, @: X
Dim swFeat As SldWorks.Feature( z' Y; q2 b* j, I2 C' t4 L8 ~  D
Dim swFeats() As SldWorks.Feature
; Y5 w5 C5 ^6 T3 K! DReDim Preserve swFeats(Part.GetFeatureCount()); E4 `$ j1 N$ @) B2 O& `  ^; B- W
Set swFeat = Part.FirstFeature4 N% |0 ^/ F# ~' v& Y8 z
Dim i As Integer/ j4 R0 m+ x* i* d( z
For i = 0 To Part.GetFeatureCount()
& F$ O; Q" e; C9 c   Set swFeats(i) = swFeat.GetNextFeature
9 Q& m" h' e9 N5 e9 n" {    If Not IsEmpty(swFeats(i)) Then
4 P6 \) C) k; Q$ E9 s. T4 i     If swFeats(i).GetTypeName = "CutListFolder" Or swFeats(i).GetTypeName = "SubWeldFolder" Then
! _% f3 x& ~8 e! _9 n      ‘SetFeatureCustomProps swFeats(i)
( {1 D5 [, W5 q& d! J; I6 X     End If $ I% Z% d& e9 R
   End If; v/ E) R0 I4 K& W
   Set swFeat = swFeats(i)
" D. U2 E1 Q0 W  Next  \1 K9 |7 x4 X- J  D& u0 d
End Sub! A1 c( u0 P5 W1 J) e1 x1 G: R0 ?
3 E: s+ G% x# w7 {0 n$ u
问题:当 swFeats(i)=nothing时, If Not IsEmpty(swFeats(i))判断无效,还继续执行。
1 n- Y( U) K9 ~3 J! r- ]0 k请高人指点一下。谢谢!!
. \4 ]0 R) c% R1 O. {* L* ?. ^3 h7 b' L; R) D. A" g
发表于 2015-8-10 12:57:19 | 显示全部楼层 来自: 中国陕西西安
你将Dim i As Integer以及后面的语句变为:
( z/ [) @; J1 u+ x, q* e# _Do While Not swFeat Is Nothing
4 C; |$ H% Q, p2 m" ]    If "CutListFolder" = swFeat.GetTypeName Or "SubWeldFolder" = swFeat.GetTypeName Then! I/ J7 G3 E% P! D
        'SetFeatureCustomProps swFeats(i)1 e7 V9 m& m/ V, S1 M6 r/ M5 `
      
( c3 S  I1 @: A- \* }3 o; s' X/ U+ I    End If
. ?9 C, p$ H  B& Y4 ?    Set swFeat = swFeat.GetNextFeature
9 f& y' @" X4 w: c' I6 oLoop
, [: f$ @8 Z5 p5 x试一试!

评分

参与人数 1三维币 +3 收起 理由
阿帕奇 + 3

查看全部评分

 楼主| 发表于 2015-8-10 14:22:10 | 显示全部楼层 来自: 中国广东深圳
lhl2008 发表于 2015-8-10 12:57; G2 y2 B6 a7 J
你将Dim i As Integer以及后面的语句变为:
# _( E0 ^* W, B8 V! i8 p$ `$ KDo While Not swFeat Is Nothing  j" T( K. q% O6 V/ K1 \2 T5 ^
    If "CutListFolder" = s ...

2 q% b% p# \! Z  c* k: m# @/ p/ p精简!!0 L$ x# v, i9 `0 d
没问题了。$ G* b' Y, i* [4 ~) D
谢谢!!!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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