使用VBA调整垂直和水平合并单元格的MSWORD表格单元格宽度

时间:2016-01-04 17:30:37

标签: vba ms-word

基本上我的目标是为许多现有文档添加最小宽度列。 我遇到了一些问题主要是由于没有访问.Column因为垂直和水平合并的单元格。 我将从我的代码开始

Dim t As Table
Dim i As Integer
Dim r As Integer

For Each t In ActiveDocument.Tables
  For i = 1 To t.Rows.count
    t.Range.Cells.Add BeforeCell:=t.Cell(i, 1)
  Next i
Next t

For Each t In ActiveDocument.Tables
  For i = 1 To t.Rows.count
    t.Cell(i, 1).SetWidth _
      ColumnWidth:=11, _
      RulerStyle:=wdAdjustNone
  Next i
Next t

For Each t In ActiveDocument.Tables
  For i = 1 To t.Rows.count
    t.Cell(i, 1).LeftPadding = 0
    t.Cell(i, 1).RightPadding = 0
    t.Cell(i, 1).PreferredWidth = 0
    t.Cell(i, 1).PreferredWidth = 0
  Next i

't.PreferredWidthType = wdPreferredWidthPercent
't.PreferredWidth = 98

Next t

我将其分成几部分,每个部分似乎都需要在表格的左边缘获得最小宽度的单元格。

我遇到的问题:

在具有单个简单表格的小型文档上,当将单元格的宽度调整为11个点时,它会将表格的右侧边缘推过11个点。 有没有办法保留桌子的右边缘? 我已经尝试了首选宽度,但这看起来真的很草率

如果文档中间有一个横向页面,那么该页面之后的大部分表格都会被推离页面的右侧。

任何有关如何使其更耐用的想法将不胜感激。 大多数文档都可以访问rows,但几乎没有文档可以访问.columns(由于合并的单元格)

0 个答案:

没有答案