[求助]字符个数计数
现在想一次先输出T的数量,然后输出R的数量,请问该怎么改?Sub co()
Dim SSet As AcadSelectionSet
Dim obj As AcadText
Dim ptcen(0 To 2) As Double
Dim endPoint1(0 To 2) As Double
Dim endPoint2(0 To 2) As Double
Dim cline As AcadLine
Dim lineHalfLength As Double
Dim groupCode(0 To 4) As Integer
Dim dataValue(0 To 4) As Variant
Dim i As Integer
On Error Resume Next
If Not IsNull(ThisDrawing.SelectionSets.Item("tex")) Then
Set SSet = ThisDrawing.SelectionSets.Item("tex")
SSet.Delete
End If
Set SSet = ThisDrawing.SelectionSets.Add("ArcsCirclesEllipses")
'设置选择过滤器
groupCode(0) = -4
dataValue(0) = ""
'提示用户选择
ThisDrawing.Utility.Prompt "选择" & vbCr
SSet.SelectOnScreen groupCode, dataValue
For Each obj In SSet
If obj.TextString = "T" Then
i = i + 1
End If
obj.Update
MsgBox "共有T" & i
If obj.TextString = "R" Then
i = i + 1
End If
obj.Update
MsgBox "共有R" & i
Next obj
End Sub
你能解释下下这里是什么意思么?
groupCode(1) = 0
dataValue(1) = "0"
groupCode(1) = 0
dataValue(1) = "0"
是原过滤器过滤多种数据!
没有这种做法:)
groupCode数组表示DXF组码
dataValue数组表示对应组码的数值
组码0表示一个实体的图元类型
关于这些具体可以看看DXF组码的帮助部分
好像上次做过一次的
设置过滤器为
0,"Text",1,"T"
就可以过滤出T的数量
页:
[1]