编写word宏代码步骤

点击“视图” – “宏” 。

WORD文档中的宏代码操作(表格批量操作)-编程之家

点击“录制宏”,填写宏名称(即函数名),选择保存位置,确定后,鼠标会变成录像带,再进行需要的操作后,点击停止录制,即完成操作录制。

WORD文档中的宏代码操作(表格批量操作)-编程之家

点击“查看宏”,后可以看到录制后的宏名称,点击编辑可看到录制的代码也可修改代码。
小妙招:可以通过录制宏,查看相关操作的代码(比如设置列宽时,不知道对应的列宽宏代码,可以先录制一个有设置列宽的宏,再打开查看)。

WORD文档中的宏代码操作(表格批量操作)-编程之家

点击“查看宏” ,选择对应函数名,点击“运行”,就会进行代码运行。

WORD文档中的宏代码操作(表格批量操作)-编程之家

几个宏代码

1. 选中word文档中的所有表格

Sub SelectAllTable()Dim tempTable As TableApplication.ScreenUpdating = False'判断文档是否被保护'If ActiveDocument.ProtectionType = wdAllowOnlyFormFields ThenMsgBox "文档已保护,此时不能选中多个表格!!"Exit SubEnd If'删除所有可编辑的区域ActiveDocument.DeleteAllEditableRanges wdEditorEveryone'添加可编辑区域For Each tempTable In ActiveDocument.TablestempTable.Range.Editors.Add wdEditorEveryoneNext'选中所有可编辑区域ActiveDocument.SelectAllEditableRanges wdEditorEveryone'删除所有可编辑的区域ActiveDocument.DeleteAllEditableRanges wdEditorEveryoneApplication.ScreenUpdating = TrueEnd Sub

效果:

WORD文档中的宏代码操作(表格批量操作)-编程之家

2. 表格自动对齐窗口

Sub TableAutoDocument()Dim tempTable As TableApplication.ScreenUpdating = False    For Each oTable In ActiveDocument.Tables    oTable.AutoFitBehavior (wdAutoFitWindow)   NextMsgBox "完成!!"Application.ScreenUpdating = TrueEnd Sub

效果:所有表格自动对齐窗口

WORD文档中的宏代码操作(表格批量操作)-编程之家

弹出框效果:

WORD文档中的宏代码操作(表格批量操作)-编程之家

  • 根据窗口调整表格

oTable.AutoFitBehavior (wdAutoFitWindow)

  • 设置表格的样式

oTable.Style = “网格型”

  • 弹出对话框,显示“完成!!”

MsgBox “完成!!”

3.使所有表格第一列内容居中


Sub oneColCenter()Dim Ta As TableFor Each Ta In ActiveDocument.Tables                                    '遍历每个表格Ta.Columns(1).Select                                                '选择第1列,选其他列改括号内的数字即可Selection.ParagraphFormat.Alignment = wdAlignParagraphCenterNextEnd Sub

效果:所有表格第一列居中(尝试中:是第二个表格显示会有问题,但已经居中),并且光标选中为最后一个表格

WORD文档中的宏代码操作(表格批量操作)-编程之家

  • 选中表格第一列

Ta.Columns(1).Select

  • 文字内容居中

Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

相当于:
WORD文档中的宏代码操作(表格批量操作)-编程之家

4.选中表格第一列(有框)


Sub selectOneCol()Dim Ta As TableFor Each Ta In ActiveDocument.Tables                                    '遍历每个表格Ta.Columns(1).Select                                                '选择第1列,选其他列改括号内的数字即可Selection.Editors.Add (wdEditorCurrent)                             ' 将所选内容添加到强加区域中NextEnd Sub

效果:

WORD文档中的宏代码操作(表格批量操作)-编程之家
4.统一所有表格列宽格式(设置表格指定列宽)


Sub modifyColWidth()Dim T As Table    For Each T In ActiveDocument.TablesT.Columns(1).PreferredWidth = CentimetersToPoints(0.7)T.Columns(2).PreferredWidth = CentimetersToPoints(3.7)T.Columns(3).PreferredWidth = CentimetersToPoints(3.7)T.Columns(4).PreferredWidth = CentimetersToPoints(3.7)T.Columns(5).PreferredWidth = CentimetersToPoints(1.5)T.Columns(6).PreferredWidth = CentimetersToPoints(1.5)NextEnd Sub

效果:表格列宽按照代码中的数据设置
WORD文档中的宏代码操作(表格批量操作)-编程之家

相当于设置表格指定列宽:

WORD文档中的宏代码操作(表格批量操作)-编程之家

注意点:统一调整列宽时,所有表格列数相同