查看: 5025|回复: 0

word中批量修改表格设置统一的边框样式

[复制链接]
发表于 2023-1-31 20:55:49 |四川| 显示全部楼层 |阅读模式
  1. Sub 批量修改表格边框颜色()
  2. Dim strTitle As String
  3. Dim strMsg As String
  4. Dim Style As VbMsgBoxStyle
  5. Dim Response As VbMsgBoxResult
  6. Dim objTable As Table
  7. Dim objBorderStyle As WdLineStyle
  8. Dim objBorderWidth As WdLineWidth
  9. Dim objBorderColor As WdColor
  10. Dim objArray As Variant
  11. Dim n As Long
  12. Dim i As Long

  13. '可以将下面的值修改为想要的样式,线宽和颜色
  14. objBorderStyle = wdLineStyleSingle
  15. objBorderWidth = wdLineWidth075pt
  16. objBorderColor = wdColorDarkBlue

  17. strTitle = "给文档中所有表格设置统一的边框"

  18. '如果当前文档中包含有表格
  19. If ActiveDocument.Tables.Count > 0 Then
  20.    strMsg = "给当前文档所有表格设置统一边框." & vbCr & vbCr & "想继续吗?"
  21.    Style = vbYesNo + vbQuestion
  22.    Response = MsgBox(strMsg, Style,strTitle)
  23.    If Response <> vbYes Then Exit Sub
  24. Else
  25.    '当前文档中没有找到表格
  26.    MsgBox "文档中没有表格.",vbInformation, strTitle
  27.    Exit Sub
  28. End If

  29. '使用要更改的边框定义数组
  30. '这里不包括对角线边框
  31. objArray = Array(wdBorderTop, _
  32.    wdBorderLeft, _
  33.    wdBorderBottom, _
  34.    wdBorderRight, _
  35.    wdBorderHorizontal, _
  36.    wdBorderVertical)

  37. For Each objTable In ActiveDocument.Tables
  38.    '统计表格数量
  39.     n = n + 1
  40.     With objTable
  41.       For i = LBound(objArray) To UBound(objArray)
  42.         '如果仅1行且wdBorderHorizontal
  43.         If .Rows.Count = 1 And objArray(i) = wdBorderHorizontal Then GoTo Skip
  44.         '如果仅1列且wdBorderVertical
  45.         If .Columns.Count = 1 And objArray(i) = wdBorderVertical Then GoTo Skip

  46.         With .Borders(objArray(i))
  47.           .LineStyle = objBorderStyle
  48.           .LineWidth = objBorderWidth
  49.           .Color = objBorderColor
  50.         End With
  51. Skip:
  52.      Next i
  53.    End With
  54. Next objTable

  55. MsgBox "完成对" & n & "个表格设置边框.",vbOKOnly, strTitle
  56. End Sub
复制代码
以上代码中的:
objBorderStyle = wdLineStyleSingle (为边框样式)指定对象的边框样式。
名称
说明
wdLineStyleDashDot5划线后跟点。
wdLineStyleDashDotDot6划线后跟两个点。
wdLineStyleDashDotStroked20划线后跟粗点,使边框的外观类似于理发店招牌。
wdLineStyleDashLargeGap4划线后跟大间隙。
wdLineStyleDashSmallGap3划线后跟小间隙。
wdLineStyleDot2点。
wdLineStyleDouble7双实线。
wdLineStyleDoubleWavy19波浪型双实线。
wdLineStyleEmboss3D21边框看起来具有 3D 浮现外观。
wdLineStyleEngrave3D22边框看起来具有 3D 阴文外观。
wdLineStyleInset24边框呈现凹进效果。
wdLineStyleNone0无边框。
wdLineStyleOutset23边框呈现凸起效果。
wdLineStyleSingle1单实线
wdLineStyleSingleWavy18波浪型单实线。
wdLineStyleThickThinLargeGap16里面是一条粗实线,外面是一条细实线,两条线的间隙较大。
wdLineStyleThickThinMedGap13里面是一条粗实线,外面是一条细实线,两条线的间隙中等。
wdLineStyleThickThinSmallGap10里面是一条粗实线,外面是一条细实线,两条线的间隙较小。
wdLineStyleThinThickLargeGap15里面是一条细实线,外面是一条粗实线,两条线的间隙较大。
wdLineStyleThinThickMedGap12里面是一条细实线,外面是一条粗实线,两条线的间隙中等。
wdLineStyleThinThickSmallGap9里面是一条细实线,外面是一条粗实线,两条线的间隙较小。
wdLineStyleThinThickThinLargeGap17最里面是一条细实线,其次是一条粗实线,最外面是一条细实线,所有线之间的间隙较大。
wdLineStyleThinThickThinMedGap14最里面是一条细实线,其次是一条粗实线,最外面是一条细实线,所有线之间的间隙中等。
wdLineStyleThinThickThinSmallGap11最里面一条细实线,其次一条粗实线,最外面是一条细实线,所有线之间的间隙较小。
wdLineStyleTriple8三条细实线。
objBorderWidth = wdLineWidth075pt (为边框线宽)指定对象边框的宽度。
名称
说明
wdLineWidth025pt20.25 磅。
wdLineWidth050pt40.50 磅。
wdLineWidth075pt60.75 磅。
wdLineWidth100pt81.00 点。 默认值。
wdLineWidth150pt121.50 磅。
wdLineWidth225pt182.25 磅。
wdLineWidth300pt243.00 磅。
wdLineWidth450pt364.50 磅。
wdLineWidth600pt486.00 磅。
objBorderColor = wdColorDarkBlue (为边框颜色)其中代码颜色参考如下:指定要应用的 24 位颜色。
名称
十进制
说明
HEX
R
G
B
wdColorAqua13421619水绿色#33CCCC51204204
wdColorAutomatic-16777216自动颜色;default;通常为黑色#000000000
wdColorBlack0黑色#000000000
wdColorBlue16711680蓝色#0000FF00255
wdColorBlueGray10053222蓝灰色#666699102102153
wdColorBrightGreen65280亮绿色#00FF0002550
wdColorBrown13209深红色#993300153510
wdColorDarkBlue8388608深蓝色#00008000128
wdColorDarkGreen13056深绿色#0033000510
wdColorDarkRed128深红色#80000012800
wdColorDarkTeal6697728深青色#003366051102
wdColorDarkYellow32896深黄色#8080001281280
wdColor使用52479金色#FFCC002552040
wdColorGray051598769905% 灰色底纹#F3F3F3243243243
wdColorGray101513239010% 灰色底纹#E6E6E6230230230
wdColorGray12514737632125% 灰色底纹#E0E0E0224224224
wdColorGray151427708115% 灰色底纹#D9D9D9217217217
wdColorGray201342177220% 灰色底纹#CCCCCC204204204
wdColorGray251263225625% 灰色底纹#C0C0C0192192192
wdColorGray301177694730% 灰色底纹#B3B3B3179179179
wdColorGray351092163835% 灰色底纹#A6A6A6166166166
wdColorGray37510526880375% 灰色底纹#A0A0A0160160160
wdColorGray401006632940% 灰色底纹#999999153153153
wdColorGray45921102045% 灰色底纹#8C8C8C140140140
wdColorGray50842150450% 灰色底纹#808080128128128
wdColorGray55756619555% 灰色底纹#737373115115115
wdColorGray60671088660% 灰色底纹#666666102102102
wdColorGray6256316128625% 灰色底纹#606060969696
wdColorGray65585557765% 灰色底纹#595959898989
wdColorGray70500026870% 灰色底纹#4C4C4C767676
wdColorGray75421075275% 灰色底纹#404040646464
wdColorGray80335544380% 灰色底纹#333333515151
wdColorGray85250013485% 灰色底纹#262626383838
wdColorGray8752105376875% 灰色底纹#202020323232
wdColorGray90164482590% 灰色底纹#191919252525
wdColorGray9578951695% 灰色底纹#0C0C0C121212
wdColorGreen32768绿色#00800001280
wdColorIndigo10040115Indigo 颜色#3333995151153
wdColorColorColorender16751052淡紫色#CC99FF204153255
wdColorLightBlue16737843浅蓝色#3366FF51102255
wdColorLightGreen13434828浅绿色#CCFFCC204255204
wdColorLightOrange39423浅橙色#FF99002551530
wdColorLightTurquoise16777164浅青绿色#CCFFFF204255255
wdColorLightYellow10092543浅黄色#FFFF99255255153
wdColorLime52377橙色#99CC001532040
wdColorOliveGreen13107橄榄色#33330051510
wdColorOrange26367橙色#FF66002551020
wdColorPaleBlue16764057淡蓝色#99CCFF153204255
wdColorPink16711935粉色颜色#FF00FF2550255
wdColorPlum6697881花红色#99336615351102
wdColorRed255红色#FF000025500
wdColorRose13408767花色#FF99CC255153204
wdColorSeaGreen6723891深绿色#33996651153102
wdColorSkyBlue16763904天蓝色#00CCFF0204255
wdColorTan10079487Tan 颜色#FFCC99255204153
wdColorTeal8421376青色#0080800128128
wdColorTurquoise16776960青绿色#00FFFF0255255
wdColorViolet8388736紫色#8000801280128
wdColorWhite16777215白色#FFFFFF255255255
wdColorYellow65535黄色#FFFF002552550
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:web@jzbar.net

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|蜀ICP备13014264号-2

在本版发帖QQ客服返回顶部