[求助]计算选择集中某个字符个数的问题:
<P>计算选择集中某个字符个数的问题:</P><P>以下是我的代码:</P>
<P>Public Sub count()</P>
<P> On Error Resume Next<BR> <BR> Dim objtext As AcadText<BR> Dim height As Double<BR> Dim width As Double<BR> <BR> Dim SSet As AcadSelectionSet<BR> If Not IsNull(ThisDrawing.SelectionSets.Item("this")) Then<BR> Set SSet = ThisDrawing.SelectionSets.Item("this")<BR> SSet.Delete<BR> End If<BR> Set SSet = ThisDrawing.SelectionSets.Add("this")<BR> <BR> Dim filterType(0) As Integer<BR> Dim filterData(0) As Variant<BR> filterType(0) = 0<BR> filterData(0) = "Text"<BR> <BR> SSet.SelectOnScreen filterType, filterData<BR> <BR> Dim pt1(0 To 2) As Double<BR> Dim pt2(0 To 2) As Double<BR> pt1(0) = 0: pt1(1) = 0: pt1(2) = 0<BR> pt2(0) = 0: pt2(1) = 180: pt2(2) = 0<BR> <BR> Dim n As Integer<BR> n = 0<BR> <BR> For Each objtext In SSet<BR> <BR> If objtext.TextString = "T" Then n = n + 1<BR> <BR> AddLine pt1, pt2<BR> MsgBox "一共有" & n & "个字符", vbOKOnly<BR> EXIT FOR<BR> Next<BR> <BR>End Sub</P>
<P>运行得到的结果却与想象中的相差较远,</P>
<P>我本想输出选择集中“T”的数量,(例如T是选择集中任一字符),而输出结果为0,</P>
<P>请问上面的函数该如何修正?</P>
<P>是否要用LEN函数来统计字符数量?</P> <P>你是想只查找“T”,还是包含“T”的</P>
<P>“aT”这样的要计算在内么?</P> 我只查“T”,而且文字是单独出现在图档中的单个文字 ,不需要“AT”这样的!当然图档中还有另外的单个文字要统计,比如还有“R”,“X”等! Public Sub count()
On Error Resume Next
Dim SSet As AcadSelectionSet
ThisDrawing.SelectionSets("this").Delete
Set SSet = ThisDrawing.SelectionSets.Add("this")
Dim filterType(1) As Integer
Dim filterData(1) As Variant
filterType(0) = 0
filterData(0) = "Text"
filterType(1) = 1
filterData(1) = "T"
SSet.SelectOnScreen filterType, filterData
MsgBox "一共有" & SSet.count & "个字符", vbOKOnly
End Sub
谢谢,如果另外的单个文字要统计,比如还有“R”,“X”,该如改上面的代码?
页:
[1]