VBA尺寸公差标注
<p><font size="5">请高手指教!下面程序出来的公差上下是一致的,如果上公差是0会显示+0.0怎样才能显示成单个的0,并且+换成空一格?谁能指点下,谢谢!</font></p><p>'点击确定按钮触发的事件<br/>Private Sub cmdOk_Click()<br/> Dim tolPre As Integer<br/> Dim tolpre2 As Integer<br/> <br/> '设置主单位精度<br/> dimObj.PrimaryUnitsPrecision = Me.cboPrecision.ListIndex<br/> <br/> '设置公差样式及公差值<br/> If Me.OptionButton1 = True Then<br/> '不显示公差时<br/> dimObj.ToleranceDisplay = acTolNone<br/> ElseIf Me.OptionButton3 = True Then<br/> '显示正负差时<br/> dimObj.ToleranceDisplay = acTolSymmetrical '公差类型<br/> dimObj.ToleranceHeightScale = 1 '高度比例<br/> dimObj.ToleranceJustification = acTolBottom '对齐方式<br/> dimObj.ToleranceUpperLimit = Me.TextBox2 '上限<br/> dimObj.ToleranceLowerLimit = Me.TextBox2 '下限<br/> tolPre = PreNum(Me.TextBox2) '获取小数点位数<br/> dimObj.TolerancePrecision = tolPre '公差精度<br/> dimObj.ToleranceSuppressTrailingZeros = False '指定是否输出标注值中的后续零<br/> ElseIf Me.OptionButton2 = True Then<br/> '显示上下差时<br/> dimObj.ToleranceDisplay = acTolDeviation<br/> dimObj.ToleranceJustification = acTolBottom<br/> dimObj.ToleranceUpperLimit = Me.TextBox1<br/> dimObj.ToleranceLowerLimit = -(Me.TextBox3)<br/> <br/> If dimObj.ToleranceUpperLimit = dimObj.ToleranceLowerLimit Then<br/> dimObj.ToleranceHeightScale = 1<br/> Else<br/> dimObj.ToleranceHeightScale = 0.71<br/> End If<br/> <br/> tolPre = PreNum(Me.TextBox1)<br/> tolpre2 = PreNum(Me.TextBox3)<br/> If tolPre < tolpre2 Then tolPre = tolpre2<br/> dimObj.TolerancePrecision = tolPre<br/> <br/> dimObj.ToleranceSuppressTrailingZeros = False<br/> ElseIf Me.OptionButton4 = True Then<br/> '显示上下限时<br/> dimObj.ToleranceDisplay = acTolLimits<br/> dimObj.ToleranceHeightScale = 1<br/> dimObj.ToleranceJustification = acTolBottom<br/> dimObj.ToleranceUpperLimit = Me.TextBox1<br/> dimObj.ToleranceLowerLimit = -(Me.TextBox3)<br/> tolPre = PreNum(Me.TextBox1)<br/> tolpre2 = PreNum(Me.TextBox3)<br/> <br/> If tolPre < tolpre2 Then tolPre = tolpre2<br/> dimObj.TolerancePrecision = tolPre<br/> dimObj.ToleranceSuppressTrailingZeros = False<br/> End If<br/> <br/> dimObj.Update<br/> Unload Me<br/>End Sub</p> 没人指教么 修改文字替代,用多行文字格式 这不就很麻烦了,要弄好字体大小,还要找准位置 <p>If tolPre < tolpre2 Then tolPre = tolpre2<br/> dimObj.TolerancePrecision = tolPre<br/> <br/> dimObj.ToleranceSuppressTrailingZeros = False<br/>这段不运行可以显示0,但精度大于2位的只能显示2位,后面的显示不出来</p><p>如果运行随便几位都能显示,单如果上下公差里面有1个是0,就会显示0.000……</p><p>我把这个程序传上来,谁能帮忙解决下啊!!!</p> <p>ToleranceSuppressTrailingZeros一定要设置为True,这样公差的后续0才能消掉。<br/>而TolerancePrecision这里你写上了如果精度超过2则设置为2,所以精度最大也就2了。</p><p>现在知道怎样设置了吧。</p> <p>显示尺寸标注的上下偏差,为什么要编那么长的程序呢!应为标注对象的标注文本属于多文本对象,直接使用多文本的格式码就可以实现,然后文字替代即可!</p>
页:
[1]