明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3751|回复: 13

请教高手怎样选择框内数字,并将他们相加,计算和是多少?

  [复制链接]
发表于 2006-3-4 21:35:00 | 显示全部楼层 |阅读模式

我想选择闭合的线内的所有数字,并将他们进行相加,最终得出他们的和

目的就是求框内文字的计算和

谢!

发表于 2006-3-4 22:48:00 | 显示全部楼层
给我你的邮箱,我可以发一个VBA的给你
发表于 2006-3-6 13:42:00 | 显示全部楼层

楼上的兄弟贴出来啊。我也想学学的。

发表于 2006-3-6 15:36:00 | 显示全部楼层

'将选取的数字相加
 '本过程演示SelectOnScreen方法的使用  
    On Error Resume Next
    If ThisDrawing.SelectionSets.count <> 0 Then
        For I = 0 To ThisDrawing.SelectionSets.count - 1
            Set ssetObj = ThisDrawing.SelectionSets(I)
            ssetObj.delete
        Next
    End If

    Set ssetObj = ThisDrawing.SelectionSets.Add("sset4")
   
    Unload UserForm10
   
    '让用户在屏幕上选择要加入选择集的图元
    ssetObj.SelectOnScreen
    '将选择集中的文本转变成数字后相加
    textvalue = 0
    For I = 0 To ssetObj.count - 1
        If ssetObj.Item(I).ObjectName = "AcDbText" Then
            'textvalue = textvalue * Val(ssetObj.Item(i).textstring)
            'ssetObj.Item(i).textstring = textvalue
           textvalue = textvalue + Val(ssetObj.Item(I).textstring)
        End If
       
    Next
    MsgBox "The result is:" & textvalue

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

GJY(楼上)的程序应该稍改动以下:

For I = 0 To ssetObj.count - 1
        If ssetObj.Item(I).ObjectName = "AcDbText"  and Val(ssetObj.Item(i).textstring)<> 0 Then
            'textvalue = textvalue * Val(ssetObj.Item(i).textstring)
            'ssetObj.Item(i).textstring = textvalue
           textvalue = textvalue + Val(ssetObj.Item(I).textstring)
        End If

'如果ssetObj.Item(i).textstring="0" 在单独处理

经过以上改动是否更好啊?

发表于 2006-3-8 08:47:00 | 显示全部楼层
我觉得用IsNumber再判断一下是不是数字更好!(在if语句里)
发表于 2006-3-8 10:37:00 | 显示全部楼层

确实有必要IsNumber判断数字。几位说的这样选取的是所有的文字,如果是框外也有文字呢?

发表于 2006-3-8 11:50:00 | 显示全部楼层
判断是不是在框内,应该是用户在选取时自己判断吧?这个程序不是交互式程序吗?还是自动得到框内所有的文字?
 楼主| 发表于 2006-3-8 17:42:00 | 显示全部楼层

liushiqiang813203@sina.com

 各位高手这是我的邮箱,有空希望各位高手多多指教

!!

发表于 2006-3-8 20:46:00 | 显示全部楼层
好象IsNumber在vba中还没有定义的函数吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 06:30 , Processed in 0.182948 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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