请教高手怎样选择框内数字,并将他们相加,计算和是多少?
<P>我想选择闭合的线内的所有数字,并将他们进行相加,最终得出他们的和</P><P>目的就是求框内文字的计算和</P>
<P>谢!</P> 给我你的邮箱,我可以发一个VBA的给你 <P>楼上的兄弟贴出来啊。我也想学学的。</P> <P>'将选取的数字相加<BR> '本过程演示SelectOnScreen方法的使用 <BR> On Error Resume Next<BR> If ThisDrawing.SelectionSets.count <> 0 Then<BR> For I = 0 To ThisDrawing.SelectionSets.count - 1<BR> Set ssetObj = ThisDrawing.SelectionSets(I)<BR> ssetObj.delete<BR> Next<BR> End If</P>
<P> Set ssetObj = ThisDrawing.SelectionSets.Add("sset4")<BR> <BR> Unload UserForm10<BR> <BR> '让用户在屏幕上选择要加入选择集的图元<BR> ssetObj.SelectOnScreen<BR> '将选择集中的文本转变成数字后相加<BR> textvalue = 0<BR> For I = 0 To ssetObj.count - 1<BR> If ssetObj.Item(I).ObjectName = "AcDbText" Then<BR> 'textvalue = textvalue * Val(ssetObj.Item(i).textstring)<BR> 'ssetObj.Item(i).textstring = textvalue<BR> textvalue = textvalue + Val(ssetObj.Item(I).textstring)<BR> End If<BR> <BR> Next<BR> MsgBox "The result is:" & textvalue<BR><BR></P> <P><A name=1575><FONT color=#000066><B>GJY</B></FONT></A>(楼上)的程序应该稍改动以下:</P>
<P>For I = 0 To ssetObj.count - 1<BR> If ssetObj.Item(I).ObjectName = "AcDbText" and Val(ssetObj.Item(i).textstring)<> 0 Then<BR> 'textvalue = textvalue * Val(ssetObj.Item(i).textstring)<BR> 'ssetObj.Item(i).textstring = textvalue<BR> textvalue = textvalue + Val(ssetObj.Item(I).textstring)<BR> End If</P>
<P>'如果ssetObj.Item(i).textstring="0" 在单独处理</P>
<P>经过以上改动是否更好啊?<BR></P> 我觉得用IsNumber再判断一下是不是数字更好!(在if语句里) <P>确实有必要IsNumber判断数字。几位说的这样选取的是所有的文字,如果是框外也有文字呢?</P> 判断是不是在框内,应该是用户在选取时自己判断吧?这个程序不是交互式程序吗?还是自动得到框内所有的文字? <P><A href="mailto:liushiqiang813203@sina.com" target="_blank" >liushiqiang813203@sina.com</A></P>
<P> 各位高手这是我的邮箱,有空希望各位高手多多指教</P>
<P>谢</P>
<P>!!</P> 好象IsNumber在vba中还没有定义的函数吧?
页:
[1]
2