Liz有几个文档,每个文档都有包含内容的多个表。

这些表是具有不同行数的简单两列表。

当前,表的列宽取决于内容。 Liz希望所有表都具有相同的列宽(例如,第一列为5.25“,第二列为1.25”)。

她想知道是否有办法做到这一点,而不是一次为每个表设置列宽。

如果按照Liz的描述,这些是包含一堆表的现有文档,那么完成此任务的唯一方法是使用宏。

实际上,所使用的技术已在其他_WordTip_中进行了描述,您可以在此处找到:

`link:/office-skill-cn/wordribbon-T011693

尽管该技巧中描述的技术适用于Liz的情况,但只需进行一些更改就可以使其更加适用。例如,Liz表示所有表都有两列。但是,如果存在(出于某种原因)一个或两个表具有不同的列数,则期望两个列的宏可能会对其他表造成破坏。考虑一下此宏,它仅跳过具有不同列数的任何表:

Sub SetTableWidths()

Dim t As Table     Dim iFixed As Integer     Dim iSkipped As Integer     Dim sTemp As String

iFixed = 0     iSkipped = 0     For Each t In ActiveDocument.Tables         If t.Columns.Count = 2 Then             t.Columns(1).Width = InchesToPoints(5.25)

t.Columns(2).Width = InchesToPoints(1.25)

iFixed = iFixed + 1         Else             iSkipped = iSkipped + 1         End If     Next t     sTemp = "Tables Fixed: " & iFixed & vbCr     sTemp = sTemp & "Tables Skipped: " & iSkipped     MsgBox sTemp End Sub

当您运行宏时,它会调整文档中所有两列表格的宽度。完成后,它将显示固定的表数(两列表的数量)和被跳过的表数(列数少于或多于两个的表)。

这种基于宏的方法非常适合其中已包含表的文档。但是,如果要创建新文档,则应考虑创建“标准”表并将其存储为Building Block。

这使得在开发文档时在文档中放置这样的表格变得非常容易。不同的_WordTip_涵盖了您执行此操作的方式:

T006076

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

WordTipsMacros [单击此处在新的浏览器选项卡中打开该特殊页面]。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(13749)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。