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

Vba 自动调整表格内容,但具有最大表格宽度,vba,ms-word,Vba,Ms Word,我试图通过vba自动调整word中的表格内容,但是使用autofit时,列会缩小到正确的大小,但表格的宽度也会缩小。如何保持桌子的最大宽度 代码: With tableEmployees .AllowAutoFit = True .AutoFitBehavior wdAutoFitWindow .Columns(1).AutoFit .Columns(2).AutoFit .Columns(3).AutoFit .Columns(4).AutoFi

我试图通过vba自动调整word中的表格内容,但是使用autofit时,列会缩小到正确的大小,但表格的宽度也会缩小。如何保持桌子的最大宽度

代码:

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
表格结构:

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

当我自动调整列以使电子邮件地址显示在一行上时,表格宽度会缩小。我想让表格占据页面上的空白,这样它就会向右填充。上面这张表是全宽的,我希望下面这张表是全宽的,但所有单元格内容都可以在一行中看到,因为它们有空间。

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

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

很好用

像这样的事情对我很有用:

With tableEmployees
  .AllowAutoFit = True
  .AutoFitBehavior wdAutoFitContent
  .Columns.AutoFit
  .AutoFitBehavior wdAutoFitWindow
  .Columns.AutoFit
End With
“自动调整到内容”会根据列之间的关系合理调整列的大小

窗口是页边距和列边框之间的宽度,因此“自动调整到窗口”将根据页边距内的页面宽度调整表的大小,并保留“自动调整到内容”设置的比例