德布德 2023-02-15 21:39 采纳率: 76.2%
浏览 18
已结题

word vba编辑表格格式需要执行两次才正确

For Each aTable In Selection.Tables
        aTable.Range.Select
        Selection.Font.Size = 10
        Selection.Rows.Height = 17.01
        With Selection.ParagraphFormat
            .SpaceBefore = 0
            .SpaceBeforeAuto = False
            .SpaceAfter = 0
            .SpaceAfterAuto = False
            .LineSpacingRule = wdLineSpaceSingle
            .FirstLineIndent = CentimetersToPoints(0)
            .CharacterUnitFirstLineIndent = 0
            .LineUnitBefore = 0
            .LineUnitAfter = 0
            .WordWrap = True
        End With
    Next

我通过如上代码调整表格格式,有两个问题:
1、为什么第一次执行后with里面的代码都不能正确执行,然后再执行一次就全部都正确了?
2、如何设置字号为5号字?我通过宏录制,代码显示是10,但是执行完后,字号直接就是10了,而10和五号字好像还有点区别。

  • 写回答

1条回答 默认 最新

  • 菜鸟才能学的更多 2023-02-15 22:11
    关注
    1. 可能是因为第一次执行时,代码中的 Selection 对象还没有完全与表格范围建立联系,需要再次选择一下表格范围才能正确执行格式设置。为避免这个问题,可以将代码中的 Selection 对象改为直接使用 aTable.Range 对象来设置格式,这样就不需要再进行选择操作了。例如,可以将代码改为:
    For Each aTable In Selection.Tables
        aTable.Range.Font.Size = 10
        aTable.Range.Rows.Height = 17.01
        With aTable.Range.ParagraphFormat
            .SpaceBefore = 0
            .SpaceBeforeAuto = False
            .SpaceAfter = 0
            .SpaceAfterAuto = False
            .LineSpacingRule = wdLineSpaceSingle
            .FirstLineIndent = CentimetersToPoints(0)
            .CharacterUnitFirstLineIndent = 0
            .LineUnitBefore = 0
            .LineUnitAfter = 0
            .WordWrap = True
        End With
    Next
    
    1. Word 中的字号是以磅为单位的,而不是以号数为单位。一般来说,5 号字的字号大小约为 10.5 磅。如果需要设置字号为 5 号字,可以将 Selection.Font.Size = 10 改为 Selection.Font.Size = 10.5。如果要设置为其他字号,也可以直接修改相应的数值即可。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月27日
  • 已采纳回答 1月19日
  • 创建了问题 2月15日

悬赏问题

  • ¥15 C语言设计一个简单的自动换档程序
  • ¥15 关于logstash转发日志时发生的部分内容丢失问题
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。