编写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

效果:表格列宽按照代码中的数据设置
在这里插入图片描述

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

在这里插入图片描述

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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐