我正在尝试通过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
当我自动调整列以使电子邮件地址出现在一行时,表格宽度会缩小。我希望桌子占据页面上的空白区域,使其填满右侧。我在这个上方的桌子是全宽的,我希望这个桌子在它下面的全宽,但所有单元格内容在一条线上可见,因为它们有空间。
答案 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
自动调整内容,使列的大小相互合理。
窗口是边距和列边框之间的宽度,因此窗口的自动调整会将表格调整为边距内的页面宽度,并保留自动调整对内容设置的比例。