QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 关于宏问题

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

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

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

x
如下代码:- E& y+ s6 }7 w) x3 g7 Q8 g' \
Dim swApp As Object4 g; M9 V) Q- S# s. @
Dim Part As Object
- M6 j  N" x! @4 m: J/ xDim boolstatus As Boolean
  u! B2 ^" b/ VDim longstatus As Long, longwarnings As Long' L' K9 [' ~% f
Sub main()
( ~, Z7 A7 M# O3 K6 o9 D$ _Set swApp = Application.SldWorks- I2 k# @( O& d0 `$ W6 X
Set Part = swApp.ActiveDoc
! y& b% j) P' H0 ]7 \& m( hDim swFeat As SldWorks.Feature
5 ?; k# w1 `5 A, E$ }Dim swFeats() As SldWorks.Feature
' k8 x5 p- a& u6 A# JReDim Preserve swFeats(Part.GetFeatureCount())( Y) y1 A. S3 n% H2 e2 b
Set swFeat = Part.FirstFeature
- ~2 p7 d8 p" ]/ k% j Dim i As Integer& ~9 X9 J; N+ p/ l8 m
For i = 0 To Part.GetFeatureCount()9 V: S4 g/ n6 L' s7 `
   Set swFeats(i) = swFeat.GetNextFeature
# y1 G7 ^! r6 J+ l+ O    If Not IsEmpty(swFeats(i)) Then  e4 j/ l$ G  c: z% l
     If swFeats(i).GetTypeName = "CutListFolder" Or swFeats(i).GetTypeName = "SubWeldFolder" Then
4 J' d5 E% j3 \7 {7 U+ V9 t1 \, a      ‘SetFeatureCustomProps swFeats(i); I; f# G) |. l  `1 E* @2 O  q
     End If
: ^0 O& p" N1 x& F' s/ B( c1 R7 R, `   End If( T: j9 T, F: \9 d& D; H
   Set swFeat = swFeats(i)
' i7 ^/ C0 y% u8 i$ U$ i  k. Q  Next5 E+ K& l3 y% f# O5 e2 M5 [
End Sub3 l/ e/ [' p5 K+ k( {" U% B" c% g
5 I+ S# W  T) z' u# t
问题:当 swFeats(i)=nothing时, If Not IsEmpty(swFeats(i))判断无效,还继续执行。
5 B+ f) p) ~% y6 s) `请高人指点一下。谢谢!!
1 ?# X: E8 m: W5 E5 |+ {* u
4 B- u$ N+ u& o" h7 k- o
发表于 2015-8-10 12:57:19 | 显示全部楼层 来自: 中国陕西西安
你将Dim i As Integer以及后面的语句变为:. w. G+ l+ Y3 h9 ^9 Z
Do While Not swFeat Is Nothing. d' h0 g" ]9 r6 V4 d+ J, ~
    If "CutListFolder" = swFeat.GetTypeName Or "SubWeldFolder" = swFeat.GetTypeName Then
0 c+ O2 K0 \& T# o. ~& b, S9 `* w        'SetFeatureCustomProps swFeats(i)
! X9 z) T6 D3 Y# _6 h7 D' T      & `! D. N3 Y; V1 r! `* E
    End If
& g+ P5 M6 p4 X  Y$ c    Set swFeat = swFeat.GetNextFeature& j# h) |2 e6 |: I( @
Loop
8 A% ^$ m. v/ \& |7 N. h试一试!

评分

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

查看全部评分

 楼主| 发表于 2015-8-10 14:22:10 | 显示全部楼层 来自: 中国广东深圳
lhl2008 发表于 2015-8-10 12:57' W/ m, |% e' Y) Z- L
你将Dim i As Integer以及后面的语句变为:
8 g3 N4 @5 U* }+ k% M! UDo While Not swFeat Is Nothing9 R# o" H5 L+ T& B6 [  h
    If "CutListFolder" = s ...
5 l! l7 b: \, }( H
精简!!
2 d. ~5 e/ z+ _1 W4 C$ s+ s9 z没问题了。
) n% ?5 B" R3 J/ v谢谢!!!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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