06622 发表于 2004-7-21 10:40:00

求助,如何使用这个统计程序!----将数字求和的程序

在线求助,等........................,
QQ:360167933       电话:13192552835
我是广东的,急要用,希望帮助解决!
这是一位朋友的统计程序,能统计CAD图形中的数字,哪位告诉我怎么用
我很需要它,可是我不会加载使用它!希望谁帮我解决一下!
程序链接:
下面是我粘贴过来的具体代码:将数字求和的程序
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**** Hidden Message *****

06622 发表于 2004-7-21 10:42:00

我一直在等,来到广东阳江我请客!谢谢!13192552835
      广东阳江闸坡是一个很好的海景旅游区!
其实我用不了上面这么复杂的功能,我只要选择的数据能加就行了!

雪山飞狐_lzh 发表于 2004-7-21 11:10:00

一、命令:vbaide
在vb编辑器上双击Thisdrawing
把代码Copy到右边,保存一下,把保存的文件加入启动组
二、命令:-vbarun
totalnumber

zxj_76 发表于 2004-7-21 11:11:00


原来的程序:

改进后的程序:
运行界面:


      
欢迎下载这个文件试试,希望对你有所帮助!

06622 发表于 2004-7-21 11:14:00

谢谢,我这就试一下去!

06622 发表于 2004-7-21 11:35:00

谢谢上面两位,虽然还不能解决,但已经有希望了!来到广东一定找我:13192552835
我的AUTO2002运行相加结果总是为0
第一位的很复杂,对我来说,我编译不了!但总是一句谢谢!

zxj_76 发表于 2004-7-21 13:08:00

你的图形里都是MTEXT啊,经过过滤器以后其实一个都没选中。

leer 发表于 2004-7-23 17:10:00

选择集生成函数可以做一个或操作,把mtxt也选进去啊

leer 发表于 2004-7-23 17:20:00

该句改为:
BuildFilter ftype, fdata, -4,""
然后再取值适用性就广了哈

06622 发表于 2004-7-24 11:25:00

LEER的办法很好用,已经OK了!
页: [1]
查看完整版本: 求助,如何使用这个统计程序!----将数字求和的程序