lufan82 发表于 2005-12-16 17:33:00

江湖救急哦,兄弟又有问题了

<P>请高手下载截图看</P>
<P>我要对选取的层的字符串进行过滤,但是每次操作的层又不是固定的,所以我用了一个动态的数组来读取的层名,但是过滤的时候就一个字符串都找不到,改回静态数组又能找到,有没有高手做过,给指点一下</P>
<P>For i = 0 To List1.ListCount - 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '取得选中层的个数</P>
<P>If List1.Selected(i) = True Then<BR>a = a + 1<BR>End If</P>
<P>Next i<BR>ReDim astring(a - 1) As String&nbsp;&nbsp; ' 生成一个动态数组来保存选中的层名<BR>a = 0<BR>For i = 0 To List1.ListCount - 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '是否选取了要操作的层<BR>If List1.Selected(i) = True Then<BR>astring(a) = List1.List(i)<BR>a = a + 1<BR>End If<BR>Next i</P>
<P>fla = a</P>
<P>ReDim fdata(fla) As Integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据选取中层的个数来生成过滤条件的数组<BR>ReDim finfo(fla) As Variant<BR>fdata(0) = 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一个条件是对字符串操作<BR>finfo(0) = "TEXT"</P>
<P><BR>For a = 1 To fla<BR>fdata(a) = 8          第二个条件是对选中的层操作,    <BR>finfo(a) = astring(a - 1) </P>
<P>Next a<BR>fdatatype = fdata<BR>finfotype = finfo</P>
<P>Set sset2 = acadobj.ActiveDocument.SelectionSets.Add("ff")<BR>sset2.Select acSelectionSetAll, , , fdatatype, finfotype&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 过滤</P>
<P>msgbox sset2.count</P>
<P>请高手帮我分析一下子,不管我对什么层进行操作得到的结果都是空的,好晕啊</P>

lufan82 发表于 2005-12-16 17:41:00

这是软件介面
页: [1]
查看完整版本: 江湖救急哦,兄弟又有问题了