明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1178|回复: 4

求助VBA。

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

怎样能将CAD图形中特定的数字(单行的)选择,然后自动相加,结果(单行的)放在特定的位子?如何做?请教各位高手。

发表于 2006-7-17 15:39:00 | 显示全部楼层

把想操作的数字 放进一个选择集中

遍历他 依次相加

最后输出结果。

 楼主| 发表于 2006-7-18 10:44:00 | 显示全部楼层

2楼你说的我明白,可是我是CAD VBA新手,虽然有VB的基础,可是对于CAD VBA,还是很陌生,可否写出来,我可以看懂的。谢谢。

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

我也是啊!请高手指点

 

发表于 2006-7-19 08:57:00 | 显示全部楼层
本帖最后由 作者 于 2006-7-19 9:25:03 编辑

Private Sub CommandButton1_Click()
 
    On Error Resume Next
    Dim txtObJ As AcadText
    Dim txtInsPos(0 To 2) As Double
    Dim Sum As Double
    Dim txtHeight As Double
    Dim SsetObj As AcadSelectionSet
    Dim Entry As AcadEntity
   
    Set SsetObj = ThisDrawing.SelectionSets("Sset1")
    If Err Then Set SsetObj = ThisDrawing.SelectionSets.Add("Sset1")
    SsetObj.Clear
   
    Me.Hide
    SsetObj.SelectOnScreen
   
    Sum = 0
    txtHeight = 0
   
    For Each Entry In SsetObj
        If TypeName(Entry) Like "IAcad*Text*" Then Sum = Sum + Entry.TextString
    Next Entry
   
    txtInsPos(0) = 0
    txtInsPos(1) = 0
    txtInsPos(2) = 0
    txtHeight = 10
   
    Set txtObJ = ThisDrawing.ModelSpace.AddText(Str(Sum), txtInsPos, txtHeight)
   
    SsetObj.Clear
    MsgBox "计算结果显示在在(0,0,0)处"
End Sub

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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