明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1727|回复: 4

[求助]计算选择集中某个字符个数的问题:

[复制链接]
发表于 2006-7-2 09:45:00 | 显示全部楼层 |阅读模式

计算选择集中某个字符个数的问题:

以下是我的代码:

Public Sub count()

    On Error Resume Next
   
   Dim objtext As AcadText
    Dim height As Double
    Dim width As Double
  
    Dim SSet As AcadSelectionSet
    If Not IsNull(ThisDrawing.SelectionSets.Item("this")) Then
        Set SSet = ThisDrawing.SelectionSets.Item("this")
        SSet.Delete
    End If
    Set SSet = ThisDrawing.SelectionSets.Add("this")
  
    Dim filterType(0) As Integer
    Dim filterData(0) As Variant
    filterType(0) = 0
    filterData(0) = "Text"
   
    SSet.SelectOnScreen filterType, filterData
   
    Dim pt1(0 To 2) As Double
    Dim pt2(0 To 2) As Double
    pt1(0) = 0: pt1(1) = 0: pt1(2) = 0
     pt2(0) = 0: pt2(1) = 180: pt2(2) = 0
    
     Dim n As Integer
     n = 0
   
    For Each objtext In SSet
   
    If objtext.TextString = "T" Then n = n + 1
   
   AddLine pt1, pt2
    MsgBox "一共有" & n & "个字符", vbOKOnly
  EXIT FOR
    Next
 
End Sub

运行得到的结果却与想象中的相差较远,

我本想输出选择集中“T”的数量,(例如T是选择集中任一字符),而输出结果为0,

请问上面的函数该如何修正?

是否要用LEN函数来统计字符数量?

发表于 2006-7-2 11:03:00 | 显示全部楼层

你是想只查找“T”,还是包含“T”的

“aT”这样的要计算在内么?

 楼主| 发表于 2006-7-2 17:43:00 | 显示全部楼层
我只查“T”,而且文字是单独出现在图档中的单个文字 ,不需要“AT”这样的!当然图档中还有另外的单个文字要统计,比如还有“R”,“X”等!
发表于 2006-7-2 18:58:00 | 显示全部楼层
  1. Public Sub count()
  2.     On Error Resume Next
  3.       
  4.     Dim SSet As AcadSelectionSet
  5.     ThisDrawing.SelectionSets("this").Delete
  6.     Set SSet = ThisDrawing.SelectionSets.Add("this")
  7.    
  8.     Dim filterType(1) As Integer
  9.     Dim filterData(1) As Variant
  10.     filterType(0) = 0
  11.     filterData(0) = "Text"
  12.     filterType(1) = 1
  13.     filterData(1) = "T"
  14.    
  15.     SSet.SelectOnScreen filterType, filterData
  16.          
  17.     MsgBox "一共有" & SSet.count & "个字符", vbOKOnly
  18. End Sub

 楼主| 发表于 2006-7-3 09:01:00 | 显示全部楼层
谢谢,如果另外的单个文字要统计,比如还有“R”,“X”,该如改上面的代码?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 03:42 , Processed in 0.153086 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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