xds520007 发表于 2009-7-22 10:09:00

VBA尺寸公差标注

请高手指教!下面程序出来的公差上下是一致的,如果上公差是0会显示+0.0怎样才能显示成单个的0,并且+换成空一格?谁能指点下,谢谢!
'点击确定按钮触发的事件
Private Sub cmdOk_Click()
    Dim tolPre As Integer
    Dim tolpre2 As Integer
   
    '设置主单位精度
    dimObj.PrimaryUnitsPrecision = Me.cboPrecision.ListIndex
   
    '设置公差样式及公差值
    If Me.OptionButton1 = True Then
      '不显示公差时
      dimObj.ToleranceDisplay = acTolNone
    ElseIf Me.OptionButton3 = True Then
      '显示正负差时
      dimObj.ToleranceDisplay = acTolSymmetrical'公差类型
      dimObj.ToleranceHeightScale = 1             '高度比例
      dimObj.ToleranceJustification = acTolBottom '对齐方式
      dimObj.ToleranceUpperLimit = Me.TextBox2    '上限
      dimObj.ToleranceLowerLimit = Me.TextBox2    '下限
      tolPre = PreNum(Me.TextBox2)                '获取小数点位数
      dimObj.TolerancePrecision = tolPre          '公差精度
      dimObj.ToleranceSuppressTrailingZeros = False   '指定是否输出标注值中的后续零
    ElseIf Me.OptionButton2 = True Then
      '显示上下差时
      dimObj.ToleranceDisplay = acTolDeviation
      dimObj.ToleranceJustification = acTolBottom
      dimObj.ToleranceUpperLimit = Me.TextBox1
      dimObj.ToleranceLowerLimit = -(Me.TextBox3)
      
      If dimObj.ToleranceUpperLimit = dimObj.ToleranceLowerLimit Then
            dimObj.ToleranceHeightScale = 1
      Else
            dimObj.ToleranceHeightScale = 0.71
      End If
      
      tolPre = PreNum(Me.TextBox1)
      tolpre2 = PreNum(Me.TextBox3)
      If tolPre

xds520007 发表于 2009-7-22 10:32:00

没人指教么

雪山飞狐_lzh 发表于 2009-7-22 10:37:00

修改文字替代,用多行文字格式

xds520007 发表于 2009-7-22 10:43:00

这不就很麻烦了,要弄好字体大小,还要找准位置

xds520007 发表于 2009-7-22 17:05:00

If tolPre
如果运行随便几位都能显示,单如果上下公差里面有1个是0,就会显示0.000……
我把这个程序传上来,谁能帮忙解决下啊!!!

mccad 发表于 2009-7-26 08:41:00

ToleranceSuppressTrailingZeros一定要设置为True,这样公差的后续0才能消掉。
而TolerancePrecision这里你写上了如果精度超过2则设置为2,所以精度最大也就2了。
现在知道怎样设置了吧。

syk070205 发表于 2010-8-3 11:37:00

显示尺寸标注的上下偏差,为什么要编那么长的程序呢!应为标注对象的标注文本属于多文本对象,直接使用多文本的格式码就可以实现,然后文字替代即可!
页: [1]
查看完整版本: VBA尺寸公差标注