WORD文档中的宏代码操作(表格批量操作)

编写word宏代码步骤

点击“视图” - “宏” 。

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

点击“查看宏”,后可以看到录制后的宏名称,点击编辑可看到录制的代码也可修改代码。

小妙招:可以通过录制宏,查看相关操作的代码(比如设置列宽时,不知道对应的列宽宏代码,可以先录制一个有设置列宽的宏,再打开查看)。

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

几个宏代码

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

Sub SelectAllTable()

Dim tempTable As Table

Application.ScreenUpdating = False

'判断文档是否被保护'

If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then

MsgBox "文档已保护,此时不能选中多个表格!!"

Exit Sub

End If

'删除所有可编辑的区域

ActiveDocument.DeleteAllEditableRanges wdEditorEveryone

'添加可编辑区域

For Each tempTable In ActiveDocument.Tables

tempTable.Range.Editors.Add wdEditorEveryone

Next

'选中所有可编辑区域

ActiveDocument.SelectAllEditableRanges wdEditorEveryone

'删除所有可编辑的区域

ActiveDocument.DeleteAllEditableRanges wdEditorEveryone

Application.ScreenUpdating = True

End Sub

效果:

2. 表格自动对齐窗口

Sub TableAutoDocument()

Dim tempTable As Table

Application.ScreenUpdating = False

For Each oTable In ActiveDocument.Tables

oTable.AutoFitBehavior (wdAutoFitWindow)

Next

MsgBox "完成!!"

Application.ScreenUpdating = True

End Sub

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

弹出框效果:

根据窗口调整表格

oTable.AutoFitBehavior (wdAutoFitWindow)

设置表格的样式

oTable.Style = “网格型”

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

MsgBox “完成!!”

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

Sub oneColCenter()

Dim Ta As Table

For Each Ta In ActiveDocument.Tables '遍历每个表格

Ta.Columns(1).Select '选择第1列,选其他列改括号内的数字即可

Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

Next

End Sub

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

选中表格第一列

Ta.Columns(1).Select

文字内容居中

Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

相当于:

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

Sub selectOneCol()

Dim Ta As Table

For Each Ta In ActiveDocument.Tables '遍历每个表格

Ta.Columns(1).Select '选择第1列,选其他列改括号内的数字即可

Selection.Editors.Add (wdEditorCurrent) ' 将所选内容添加到强加区域中

Next

End Sub

效果:

4.统一所有表格列宽格式(设置表格指定列宽)

Sub modifyColWidth()

Dim T As Table

For Each T In ActiveDocument.Tables

T.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)

Next

End Sub

效果:表格列宽按照代码中的数据设置

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

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

PS免费版哪里下载?3个免费获取PS的方法
《大主宰-新版》坐骑系统全面讲解!