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

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

在线求助,等........................,


QQ:360167933       电话:13192552835


我是广东的,急要用,希望帮助解决!


这是一位朋友的统计程序,能统计CAD图形中的数字,哪位告诉我怎么用<BR>我很需要它,可是我不会加载使用它!希望谁帮我解决一下!








程序链接:<A href="dispbbs.asp?boardID=16&amp;ID=16561&amp;page=5" target="_blank" ><FONT color=#000000>dispbbs.asp?boardID=16&amp;ID=16561&amp;page=5</FONT></A>


下面是我粘贴过来的具体代码:将数字求和的程序<BR>Sub totalnumber()<BR>                       Dim total As Double<BR>                       total = 0<BR>                       Dim ssetObj As AcadSelectionSet<BR>                       Set ssetObj = CreateSelectionSet("numberobj")<BR>                       Dim ftype, fdata<BR>                       BuildFilter ftype, fdata, 0, "text"<BR>                       ssetObj.SelectOnScreen ftype, fdata<BR>                       For i = 0 To ssetObj.Count - 1<BR>                                                       If IsNumeric(ssetObj.Item(i).TextString) Then<BR>                                                                                       total = total + ssetObj.Item(i).TextString<BR>                                                               Else<BR>                                                       End If<BR>                       Next i








                       ssetobj.delete<BR>                       ActiveDocument.Utility.Prompt "总和=" &amp; total<BR>End Sub<BR>Public function CreateSelectionSet(Optional ssName As String = "ss") As AcadSelectionSet<BR>       '返回一个空白选择集<BR>       <BR>                       Dim ss As AcadSelectionSet<BR>                       <BR>                       On Error Resume Next<BR>                       Set ss = ThisDrawing.SelectionSets(ssName)<BR>                       If err Then Set ss = ThisDrawing.SelectionSets.Add(ssName)<BR>                       ss.Clear<BR>                       Set CreateSelectionSet = ss<BR>End Function<BR>Public Sub BuildFilter(typeArray, dataArray, ParamArray gCodes())<BR>                       '用数组方式填充一对变量以用作为选择集过滤器使用<BR>                       Dim ftype() As Integer, fdata()<BR>                       Dim index As Long, i As Long<BR>                       <BR>                       index = LBound(gCodes) - 1<BR>                                                       <BR>                       For i = LBound(gCodes) To UBound(gCodes) Step 2<BR>                                                       index = index + 1<BR>                                                       ReDim Preserve ftype(0 To index)<BR>                                                       ReDim Preserve fdata(0 To index)<BR>                                                       ftype(index) = CInt(gCodes(i))<BR>                                                       fdata(index) = gCodes(i + 1)<BR>                       Next<BR>                       typeArray = ftype: dataArray = fdata<BR>End Sub

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

本帖最后由 作者 于 2004-7-27 16:33:01 编辑

原来的程序:






改进后的程序:


运行界面:       


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

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,"&lt;or",0,"text",0,"Mtext",-4,"or&gt;"


<P class=table_body>然后再取值适用性就广了哈<BR>

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

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