用选择集一次性判断数字文字
<p> 我需要选择仅仅为数字的单行或多行文字,我只会先做选择集,然后在选择集中循环,再在循环中用IsNumeric(X)判断!能不能用选择集一次性判断,就是将IsNumeric(X)加入到选择集中。这样的好处:选择是能立即看出有多个数字,非数字型文字不会选择!</p><p> 谢谢各位!</p><p>黄玉宏 二○○九年八月六日</p> 只选择是数字的text/mtext的过滤器<p></p><div class="codebar" style="TEXT-ALIGN: right;"><a href="javascript:copycode('mc39064')"><font color="#000000">[复制代码到剪贴板]</font></a></div><div class="htmlcode" id="mc39064" style="BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid;"> 0, "*Text", <br/> 1, "~*[~.0-9]*", <br/> 1, "~*.*.*"<br/></div> <p>谢谢版主,试了一下不行!还请你再次给予指示!</p><p>谢谢!</p><p>Public Sub BuildFilter(typeArray, dataArray, ParamArray gCodes()) '建立过滤代码子程序<br/>Dim ftype() As Integer, fdata() '用数组方式填充一对变量作为选择集过滤器使用<br/>Dim index As Long, i As Long<br/>index = LBound(gCodes) - 1<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</p><p>Sub bb()<br/>On Error Resume Next<br/>Dim SS As AcadSelectionSet<br/>ThisDrawing.SelectionSets("Test").Delete<br/>Set SS = ThisDrawing.SelectionSets.Add("Test")<br/>Dim ftype, fdata<br/>BuildFilter ftype, fdata, 0, "*Text", 1, "~*[~.0-9]*", 1, "~*.*.*"<br/>SS.SelectOnScreen ftype, fdata<br/>MsgBox SS.Count<br/>End Sub<br/>症状:一个数字都选择不了!</p> <p>我这可以的。"123.5"是可以的。如果是"12.5w" 就不行的</p> <p>我这儿还是不行啊!三楼能否直接将DVB文件发给<a href="mailto:653194278@qq.com">653194278@qq.com</a>,让我测试一下!</p><p>真是怪了!谢谢!</p><p>黄玉宏 二○○九年八月七日</p> <p>我是直接把他拷贝到VBA中就可以运行了</p> <p>我试过了,可以选到。</p><p>楼主的数字文本里是不是带了空格?有空格就选不中。带有格式的多行文本也选不中。</p> <p>谢谢烟雨江南!非常感谢!完全正确!同时也非常感谢版主!</p>
页:
[1]