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

引言

这两周已经彻底变为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

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在Word表格中进行批量导入对应图片代码,可以按照以下步骤操作: 1. 准备好要导入的图片和对应的图片代码。确保图片与代码的命名一致,方便后续处理。 2. 打开Word文档,创建一个空白的表格,确保表格具有足够的行数与列数以容纳所有的图片和代码。 3. 在表格中选择要插入图片的单元格。可以选择单个单元格,也可以选择一列或一行多个单元格。 4. 在Word菜单栏的“插入”选项中,找到“图片”功能。点击该功能,会弹出选择图片的窗口。 5. 从窗口中选择要导入的图片,点击“插入”按钮。系统会将选择的图片插入到选定的单元格中。 6. 通过复制黏贴的方式,将对应的图片代码输入到相邻的单元格中。确保图片代码与图片一一对应,便于后续的管理与维护。 7. 重复以上步骤,直到将所有的图片和对应的代码都插入到表格中。 通过以上步骤,我们可以在Word表格批量导入对应的图片代码。这样做的好处是图片和代码被组织结构化地放置在同一个文档中,方便查找和管理,同时也保证了代码与图片之间的对应关系。 ### 回答2: 要在Word表格批量导入对应的图片代码,可以按照以下步骤操作: 1. 准备好要导入的图片和对应的代码。确保图片和代码都已经命名,在同一个文件夹下。 2. 打开Word文档,创建一个新的表格。确保表格的列数和图片的数量相同,每个图片对应一列。 3. 在表格的第一行中,分别输入图片代码的标题,比如“图片代码”。 4. 在第二行的每一列中,按顺序输入对应图片的代码。可以使用复制粘贴的方式,将代码从准备好的文本文件中复制到相应的单元格中。 5. 选中第二行所有的单元格,并将它们转换为文本格式。可以通过“开始”选项卡上的“数值”分组中的“文本格式”命令来完成。 6. 在表格的第一列中选择第二行所有单元格,并应用合并单元格命令。可以通过“布局”选项卡上的“合并单元格”按钮来完成。 7. 在合并后的单元格中,插入对应的图片。可以使用“插入”选项卡上的“图片”按钮,选择对应的图片文件并插入。 8. 调整表格的布局和样式,使得图片和代码对齐整齐。 通过以上步骤,我们可以在Word表格批量导入对应的图片代码。注意,每个单元格中只能插入一个图片,如果想要插入多个图片,可以将单元格拆分为多个单元格,并在每个单元格中插入一张图片。 ### 回答3: 在Word表格批量导入对应的图片代码,可以按照以下步骤进行操作: 1. 首先,确认需要导入的图片所对应的文件夹路径,并将所有图片文件名称和对应代码列成一个文本文档,每行一个图片文件名称和对应代码。 2. 在Word表格中需要导入图片的位置,创建一个空的表格,确保表格的行数和列数与图片数量和对应代码的行数一致。 3. 打开Word的开发工具栏,在“开发”选项卡下,点击“”按钮,弹出“”对话框。 4. 在“”对话框中,点击“创建”按钮,弹出“Microsoft Visual Basic for Applications”窗口。 5. 在“Microsoft Visual Basic for Applications”窗口中,输入以下代码: ``` Sub InsertImages() Dim doc As Document Dim tbl As Table Dim i As Integer Set doc = ActiveDocument Set tbl = doc.Tables(1) '根据表格的索引调整此行代码 For i = 1 To tbl.Rows.Count imgName = tbl.Cell(i, 1).Range.Text '根据表格中图片文件名称所在列的索引调整此行代码 imgCode = tbl.Cell(i, 2).Range.Text '根据表格中图片代码所在列的索引调整此行代码 imgName = Left(imgName, Len(imgName) - 2) '去除表格中图片文件名称后的换行符 imgCode = Left(imgCode, Len(imgCode) - 2) '去除表格中图片代码后的换行符 doc.InlineShapes.AddPicture FileName:="图片文件夹路径\" & imgName & ".jpg", Range:=tbl.Cell(i, 3).Range '根据表格中图片位置所在列的索引调整此行代码 doc.Bookmarks.Add Range:=tbl.Cell(i, 4).Range, Name:=imgCode '根据表格中图片代码位置所在列的索引调整此行代码 Next i MsgBox "图片导入成功!" End Sub ``` 6. 在以上代码中,根据你的具体情况,需要修改代码中的注释所示的部分: - `Set tbl = doc.Tables(1)`,根据需要导入图片的表格索引进行调整,如如果需要导入第一个表格,则索引为1。 - `imgName = tbl.Cell(i, 1).Range.Text`,根据需要导入图片文件名称的列索引进行调整,如如果需要导入第一列,则索引为1。 - `imgCode = tbl.Cell(i, 2).Range.Text`,根据需要导入图片代码的列索引进行调整,如如果需要导入第二列,则索引为2。 - `doc.InlineShapes.AddPicture FileName:="图片文件夹路径\" & imgName & ".jpg"`,根据图片文件夹的路径进行调整。 - `doc.Bookmarks.Add Range:=tbl.Cell(i, 4).Range, Name:=imgCode`,根据需要导入图片代码的位置所在列的索引进行调整,如如果需要导入第四列,则索引为4。 7. 关闭“Microsoft Visual Basic for Applications”窗口,然后在“”对话框中,选择刚刚创建的“InsertImages”,点击“运行”按钮。 8. 系统会自动按照你所设定的规则,在表格批量导入对应的图片代码。 注意:在执行上述操作之前,请务必做好文件备份,以防操作错误导致文件丢失或损坏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值