自动调整表格内容但具有最大表格宽度

时间:2014-01-02 20:27:58

标签: vba ms-word

我正在尝试通过vba自动调整word中的表内容,但是当使用自动调整时,列缩小到正确的大小,但表的大小也会缩小。如何将工作台宽度保持在最大值?

代码:

With tableEmployees
    .AllowAutoFit = True
    .AutoFitBehavior wdAutoFitWindow
    .Columns(1).AutoFit
    .Columns(2).AutoFit
    .Columns(3).AutoFit
    .Columns(4).AutoFit
End With

表格结构:

id |   name   |   phone   |         email    |
 1 | john doe | 555-5555  | john.doe@someadd
                                    ress.com

当我自动调整列以使电子邮件地址出现在一行时,表格宽度会缩小。我希望桌子占据页面上的空白区域,使其填满右侧。我在这个上方的桌子是全宽的,我希望这个桌子在它下面的全宽,但所有单元格内容在一条线上可见,因为它们有空间。

2 个答案:

答案 0 :(得分:1)

好的,我能够通过以下修改解决自己的问题:

With tableEmployees
    .PreferredWidthType = wdPreferredWidthPercent
    .PreferredWidth = 100
    .Columns(1).PreferredWidth = 15
    .Columns(2).PreferredWidth = 25
    .Columns(3).PreferredWidth = 20
    .Columns(4).PreferredWidth = 40
End With

很好用!

答案 1 :(得分:1)

这样的事情对我有用:

With tableEmployees
  .AllowAutoFit = True
  .AutoFitBehavior wdAutoFitContent
  .Columns.AutoFit
  .AutoFitBehavior wdAutoFitWindow
  .Columns.AutoFit
End With

自动调整内容,使列的大小相互合理。

窗口是边距和列边框之间的宽度,因此窗口的自动调整会将表格调整为边距内的页面宽度,并保留自动调整对内容设置的比例。