QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 关于宏问题

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

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

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

x
如下代码:* N+ W* V/ v6 \8 W. p3 O/ o
Dim swApp As Object
+ c2 ~4 m4 E" h3 g! kDim Part As Object
  ]# t" A# F: m4 R: w% QDim boolstatus As Boolean
" I& F+ v8 F8 x- h3 _: ]0 |Dim longstatus As Long, longwarnings As Long' c7 J( }3 Y+ A) q- K) i
Sub main()
6 C# M6 F  o6 U, ]Set swApp = Application.SldWorks
' c5 U' }" V* L6 S9 S, N6 ~5 SSet Part = swApp.ActiveDoc
7 }( _- [2 `; ^1 }2 nDim swFeat As SldWorks.Feature, b8 _0 e, W! u0 j
Dim swFeats() As SldWorks.Feature: U+ ?4 A/ [: S( C, W* l
ReDim Preserve swFeats(Part.GetFeatureCount())
: n8 a+ Z* i! _% RSet swFeat = Part.FirstFeature% ]( q% p! F* O9 R& y  x2 T/ i
Dim i As Integer
  X0 w- p2 U' r/ S6 `! C For i = 0 To Part.GetFeatureCount()$ U" m4 M/ d& j; L9 R$ T
   Set swFeats(i) = swFeat.GetNextFeature& \( a. |7 W( O( _8 v1 W
    If Not IsEmpty(swFeats(i)) Then2 c$ T" y7 p& m- p
     If swFeats(i).GetTypeName = "CutListFolder" Or swFeats(i).GetTypeName = "SubWeldFolder" Then
; I" c( Q, c. ~2 P3 W      ‘SetFeatureCustomProps swFeats(i)- \/ L! V: D+ R8 k; ^
     End If & h3 k% H- u) z4 a
   End If: n# t5 d9 C9 y
   Set swFeat = swFeats(i)
0 `# G3 g) d3 n' ?  Next
; c0 r6 J; O" m9 i2 M7 K4 kEnd Sub
. z/ H( I) y6 {8 M9 e7 d- I# Z$ k: M9 ^! Q: l
问题:当 swFeats(i)=nothing时, If Not IsEmpty(swFeats(i))判断无效,还继续执行。5 a" a! E9 @9 g# h+ {6 r2 m
请高人指点一下。谢谢!!
* n6 |, R  V' k0 B# |
" [; `$ h1 Q/ Q! n
发表于 2015-8-10 12:57:19 | 显示全部楼层 来自: 中国陕西西安
你将Dim i As Integer以及后面的语句变为:- j  g$ u  a( z8 S$ g- T% w0 g
Do While Not swFeat Is Nothing
& }: e1 [1 F$ R& i# p3 o- }4 j    If "CutListFolder" = swFeat.GetTypeName Or "SubWeldFolder" = swFeat.GetTypeName Then! v8 v7 \: o/ {) f* A0 M# o6 _
        'SetFeatureCustomProps swFeats(i). @3 e/ U8 Y% p  Y7 K( `) z0 T5 i! F+ _
      / R( z  {* D, j/ F5 `& u- N" W
    End If7 P$ x' Y5 C( g/ P9 j) w- z0 B
    Set swFeat = swFeat.GetNextFeature/ I4 N" Q% ?: t% S
Loop
7 y. i  a5 {' [: Q3 r8 ^1 q试一试!

评分

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

查看全部评分

 楼主| 发表于 2015-8-10 14:22:10 | 显示全部楼层 来自: 中国广东深圳
lhl2008 发表于 2015-8-10 12:57" a' c- k6 j$ M- P4 e
你将Dim i As Integer以及后面的语句变为:* t: Z. p/ l& p+ N$ J
Do While Not swFeat Is Nothing3 `/ ]. g( W1 L  X% U7 y' r( g) i3 e
    If "CutListFolder" = s ...
" v3 `3 _: z/ E; I9 B% C
精简!!$ [# E( Y" n6 b. H9 [
没问题了。0 V5 K7 S* x3 Y% E  B( N
谢谢!!!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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