在Word中插入表格时,将自动为表格中的每个单元格创建一个边框。该边框是一条直线,重量为一半。不幸的是,Word无法为您提供更改表时使用的默认行宽的方法。确实可以在“边框和底纹”对话框中选择线宽,但是在插入新表时,此粗细将重置为一半。

如果您需要其他线宽,例如四分之三的点,则有问题。您必须手动选择任何新表格并设置边框格式,以便它们是所需的宽度。如果您使用大量桌子,这很快就会成为麻烦。当然,您可以创建表格样式,但是如果您要做的只是更改行宽,或者如果您使用的文档中应用了很多显式格式,则应用表格样式可能会产生不均匀的结果桌子。

解决此问题的最佳方法也许是编写一个宏。即使这可能不是最理想的解决方案,但肯定比手动更改文档中的每个表都容易。

下面的宏FixCellBorders遍历文档中每个表中的每个单元格,并确保最小线宽为点的四分之三。它通过检查当前线路设置,然后仅在必要时进行调整来执行此操作。

Sub FixCellBorders()

On Error Resume Next     ' Work through all tables in document     For Each objTable In ActiveDocument.Tables         ' Work through all cells in each table         For Each objCell In objTable.Range.Cells             ' Work through all borders in each cell             For Each objBorder In objCell.Borders                 ' Check if line weight is less than 0.75 pt                 If objBorder.LineWidth = wdLineWidth025pt _                   Or objBorder.LineWidth = wdLineWidth050pt Then                     ' too thin, change it                     objBorder.LineWidth = wdLineWidth075pt                 End If             Next objBorder         Next objCell     Next objTable End Sub

可以想象,宏并不是非常快,因为它查看文档每个表中每个单元格的所有四个边界。但是,优点是宏仅会修改四分之一或二分之一点处的任何单元边界的权重。这意味着您为不同的线宽所做的任何手动格式设置都不会更改。

如果您正在寻找更快的宏,请使用以下(FixTableBorders)技巧。它可以查看整个表格,而不是查看单个单元格。但是,不同之处在于,它使用一行将每个表的每个边界重置为一个点的四分之三。但是,如果这符合您的需求,那么绝对是更简单(更快)的方法。

Sub FixTableBorders()

On Error Resume Next     For Each objTable In ActiveDocument.Tables         With objTable             With .Borders(wdBorderLeft)

.LineStyle = wdLineStyleSingle                 .LineWidth = wdLineWidth075pt             End With             With .Borders(wdBorderRight)

.LineStyle = wdLineStyleSingle                 .LineWidth = wdLineWidth075pt             End With             With .Borders(wdBorderTop)

.LineStyle = wdLineStyleSingle                 .LineWidth = wdLineWidth075pt             End With             With .Borders(wdBorderBottom)

.LineStyle = wdLineStyleSingle                 .LineWidth = wdLineWidth075pt             End With             With .Borders(wdBorderHorizontal)

.LineStyle = wdLineStyleSingle                 .LineWidth = wdLineWidth075pt             End With             With .Borders(wdBorderVertical)

.LineStyle = wdLineStyleSingle                 .LineWidth = wdLineWidth075pt             End With         End With     Next objTable End Sub

注意:

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

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

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(13081)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: