WORD宏设置批量修改全部表格格式

引言1. 设置表格文字样式2. 设置表格边框样式3. 设置所有表格边框样式为075pt4. 删除行参考

引言

这两周已经彻底变为office工程师了,更准确一点应该是Word工程师,一篇文档动不动就成百上千页,表格图片也是上千个之多,一个个手动该那估计改到归西那天我也改不完,所以顺手梳理了一下宏关于表格字体与边框格式设置的用法,以备后续不时之需。 后面也可能会不定时更新。

1. 设置表格文字样式

// 设置所有文字样式和局部文字样式

Sub EditTablesFont()

'

' 设置所有的表格字体

'

'

For i = 1 To ActiveDocument.Tables.Count

Dim t As Table

Set t = ActiveDocument.Tables(i)

With t

'断开活动文档的第1个表格的域的链接

.Range.Fields.Unlink

'关于字体的各项设置,可以通过录制宏得到

' Range.Font 属性

' 返回或设置 Font 对象,该对象代表指定对象的字符格式

With .Range.Font

.NameFarEast = "仿宋" '中文字体

.NameAscii = "Times New Roman" '西文字体

.Size = 10 '字号

.Bold = False '字形 不加粗

.Italic = False '字形 不是斜体号

.ColorIndex = wdBlack '字体颜色

.Underline = wdUnderlineNone '下划线 无

.UnderlineColor = wdColorBlack '下划线 颜色

.EmphasisMark = wdEmphasisMarkNone '着重号

.StrikeThrough = False '删除线

.DoubleStrikeThrough = False '双删除线

.Superscript = False '字体格式 上标

.Subscript = False '字体格式 下标

.SmallCaps = False '小型大写字母 字母的形状和大写字母相同但尺寸较小

.AllCaps = False '全部大写字母 如果为true 字母全部大写

.Hidden = False '隐藏 如果设置为true,打印的时候看不到

End With

With t.Rows(1)

.Shading.BackgroundPatternColor = -654245991 '设置第一行的背景颜色为淡绿色

With .Range.Font '设置第一行表头字体格式

.NameFarEast = "黑体" '中文字体

.NameAscii = "Times New Roman" '西文字体

.Size = 10 '字号

.Bold = False '字形 不加粗

End With

End With

End With

Next i

End Sub;

2. 设置表格边框样式

// 设置所有文字样式和局部文字样式

Sub EditTablesBorders()

'

' 设置所有的表格边框

'

'

'遍历所有表格

For Each tbl In ActiveDocument.Tables

'设置表格顶部和底部边框为1.5

tbl.Borders(wdBorderTop).LineStyle = wdLineStyleSingle

tbl.Borders(wdBorderTop).LineWidth = wdLineWidth150pt

tbl.Borders(wdBorderBottom).LineStyle = wdLineStyleSingle

tbl.Borders(wdBorderBottom).LineWidth = wdLineWidth150pt

'设置第二行的上下边框为0.75

tbl.Rows(2).Borders(wdBorderTop).LineStyle = wdLineStyleSingle

tbl.Rows(2).Borders(wdBorderTop).LineWidth = wdLineWidth075pt

tbl.Rows(2).Borders(wdBorderBottom).LineStyle = wdLineStyleSingle

tbl.Rows(2).Borders(wdBorderBottom).LineWidth = wdLineWidth075pt

'遍历表格中除了第一行和最后一行以外的其余行

For i = 3 To tbl.Rows.Count - 1

tbl.Rows(i).Borders(wdBorderTop).LineStyle = wdLineStyleNone

tbl.Rows(i).Borders(wdBorderBottom).LineStyle = wdLineStyleNone

Next i

'设置第一行下的边框为0.75

tbl.Rows(1).Borders(wdBorderBottom).LineStyle = wdLineStyleSingle

tbl.Rows(1).Borders(wdBorderBottom).LineWidth = wdLineWidth075pt

'隐藏表格的列边框

'For j = 1 To tbl.Columns.Count

'tbl.Columns(j).Borders(wdBorderLeft).LineStyle = wdLineStyleNone

'tbl.Columns(j).Borders(wdBorderRight).LineStyle = wdLineStyleNone

'Next j

Next tbl

End Sub

3. 设置所有表格边框样式为075pt

// 设置所有文字样式和局部文字样式

Sub EditTablesBorders2()

'

' 设置所有的表格边框

'

'

'遍历所有表格

For Each tbl In ActiveDocument.Tables

For i = 1 To tbl.Rows.Count

tbl.Rows(i).Borders(wdBorderTop).LineStyle = wdLineStyleSingle

tbl.Rows(i).Borders(wdBorderTop).LineWidth = wdLineWidth075pt

tbl.Rows(i).Borders(wdBorderBottom).LineStyle = wdLineStyleSingle

tbl.Rows(i).Borders(wdBorderBottom).LineWidth = wdLineWidth075pt

Next i

Next tbl

End Sub

4. 删除行

// 设置所有文字样式和局部文字样式

Sub 删除行()

Dim myTab As Table

For Each myTab In ActiveDocument.Tables

myTab.Rows(1).Delete '删除第一行

Next

End Sub

参考

https://blog.csdn.net/HyEidolon/article/details/134154144

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。