明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 9956|回复: 20

将数字求和的程序

  [复制链接]
发表于 2004-2-18 22:03 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2004-2-19 18:52:29 编辑

Sub totalnumber()
Dim total As Double
total = 0
Dim ssetObj As AcadSelectionSet
Set ssetObj = CreateSelectionSet("numberobj")
Dim ftype, fdata
BuildFilter ftype, fdata, 0, "text"
ssetObj.SelectOnScreen ftype, fdata
For i = 0 To ssetObj.Count - 1
If IsNumeric(ssetObj.Item(i).TextString) Then
total = total + ssetObj.Item(i).TextString
Else
End If
Next i ssetobj.delete
ActiveDocument.Utility.Prompt "总和=" & total
End Sub
Public Function CreateSelectionSet(Optional ssName As String = "ss") As AcadSelectionSet
'返回一个空白选择集

Dim ss As AcadSelectionSet

On Error Resume Next
Set ss = ThisDrawing.SelectionSets(ssName)
If err Then Set ss = ThisDrawing.SelectionSets.Add(ssName)
ss.Clear
Set CreateSelectionSet = ss
End Function
Public Sub BuildFilter(typeArray, dataArray, ParamArray gCodes())
'用数组方式填充一对变量以用作为选择集过滤器使用
Dim ftype() As Integer, fdata()
Dim index As Long, i As Long

index = LBound(gCodes) - 1

For i = LBound(gCodes) To UBound(gCodes) Step 2
index = index + 1
ReDim Preserve ftype(0 To index)
ReDim Preserve fdata(0 To index)
ftype(index) = CInt(gCodes(i))
fdata(index) = gCodes(i + 1)
Next
typeArray = ftype: dataArray = fdata
End Sub
 楼主| 发表于 2004-2-18 22:07 | 显示全部楼层
参考了subtlation的相关程序,在此感谢! 将所选图元中的内容为数字的字符求和,对统计材料有一定帮助.
发表于 2004-2-19 13:57 | 显示全部楼层
好程序,很简洁。提个小建议,最好在程序的结束前加上:ssetobj.delete


这样可以清除选择集。
 楼主| 发表于 2004-2-19 18:53 | 显示全部楼层
已改过,谢谢.


现在框选时是将所有的文本都选中,能不能做到只选中内容为数字的文本?
发表于 2004-7-21 08:11 | 显示全部楼层
我不会用,谁教我一下好吗?
发表于 2004-7-21 08:34 | 显示全部楼层
我很需要这个程序,可是我不会用,希望谁帮我解答一下!万分感谢!
发表于 2004-7-21 08:50 | 显示全部楼层
能不能将求得的结果以指定位置写入图中
发表于 2004-7-21 09:38 | 显示全部楼层
怎么加载这个程序,哪位大侠帮忙!
发表于 2004-10-30 08:15 | 显示全部楼层
学习中
发表于 2005-3-18 15:59 | 显示全部楼层
对于如:DN50-100,没法统计,能不能改进呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 16:41 , Processed in 0.250805 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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