更改Word表格宽度但不是第一行

时间:2014-07-03 14:49:26

标签: vba ms-word

我正在尝试遍历Word文档中的每个表并更改列宽。我找到了一个宏来执行此操作,但它不起作用,因为每个表中的第一行都已合并。

由于我知道第二行及以后没有合并,我试图更改宏以跳过第一行。

这是我的第一次尝试:

Sub MyAttempt()
    Dim t As Table
    For Each t In ActiveDocument.Tables
        For Each Row In t
          If Row.Index > 1 Then
            t.Columns(1).Width = InchesToPoints(1.2)
            t.Columns(2).Width = InchesToPoints(13)
          End If
        Next
    Next t
End Sub

我已经将该代码清理为下面的代码,但它仍然给我一个错误,它无法更改任何单元格宽度,因为表中有一个合并的单元格。

Sub MyAttempt2()
    Dim t As Table
    For Each t In ActiveDocument.Tables
        For Each r In t.Rows
          If r.Index > 1 Then
            t.Columns(1).Width = InchesToPoints(1.2)
            t.Columns(2).Width = InchesToPoints(13)
          End If
          Next r
    Next t
End Sub

有没有办法跳过已经合并单元格的第一行,然后更改表格其余部分的单元格宽度,对文档中的每个表都这样做?

感谢任何人提供的任何帮助。真的很感激!

1 个答案:

答案 0 :(得分:0)

尝试:

Sub MyAttempt2()
    Dim t As Table, r As Row
    For Each t In ActiveDocument.Tables
        For Each r In t.Rows
          If r.Index > 1 Then
            r.Cells(1).Width = InchesToPoints(1.2)
            r.Cells(2).Width = InchesToPoints(3)
          End If
          Next r
    Next t
End Sub