Word 批量格式统一工具

👤 技效人 📦 v1.0.0 ⭐ 4.0 ⬇️ 109 下载
📄 办公效率 免费

📖 技能介绍

Word批量格式统一工具(VBA宏版)

技能概述

本技能提供一套完整的 VBA 宏代码及操作指南,帮助您在 Microsoft Word 中批量处理多个文档的格式。只需选择目标文件夹,宏将自动遍历所有 .docx 文件,统一设置页面、字体、段落、标题样式等,极大提升排版效率。


适用场景

  • 行政、文秘、编辑人员需要统一大批量文档格式
  • 项目经理整理标书、合同等标准化文件
  • 研发、质量人员需要定期输出格式一致的报告

前置知识

  • 熟悉 Word 基本操作(打开、保存)
  • 了解文件路径选择
  • 无需编程基础,按步骤操作即可

使用步骤

小葱技能7w4.net有更新,你可以访问看下。

1. 启用 Word 宏功能

  • 打开 Word,点击 文件选项信任中心信任中心设置宏设置
  • 选择 “启用所有宏”(测试环境),并勾选 “信任对 VBA 工程对象模型的访问”
  • 点击“确定”保存。

2. 插入宏模块

  • Alt + F11 打开 VBA 编辑器。
  • 在左侧“工程资源管理器”中,右键点击 Normal 或当前文档项目 → 插入模块
  • 将下方完整代码复制粘贴到模块中。

3. 复制核心代码


Sub BatchFormatUnify()
    Dim folderPath As String
    Dim file As String
    Dim doc As Document
    Dim folderDialog As FileDialog
    Dim i As Long

    Set folderDialog = Application.FileDialog(msoFileDialogFolderPicker)
    With folderDialog
        .Title = "请选择包含Word文档的文件夹"
        .AllowMultiSelect = False
        If .Show <> -1 Then Exit Sub
        folderPath = .SelectedItems(1)
    End With

    If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\"

    file = Dir(folderPath & "*.docx")
    i = 0

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    Do While file <> ""
        Set doc = Documents.Open(folderPath & file, AddToRecentFiles:=False, Visible:=False)
        Call UnifyFormat(doc)
        doc.Save
        doc.Close
        i = i + 1
        file = Dir
    Loop

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

    MsgBox "已完成 " & i & " 个文档的格式统一!", vbInformation
End Sub

Sub UnifyFormat(doc As Document)
    With doc
        ' 页面设置(A4,页边距上下2.54cm,左右3.17cm)
        With .PageSetup
            .PaperSize = wdPaperA4
            .TopMargin = CentimetersToPoints(2.54)
            .BottomMargin = CentimetersToPoints(2.54)
            .LeftMargin = CentimetersToPoints(3.17)
            .RightMargin = CentimetersToPoints(3.17)
        End With

        ' 遍历所有段落
        Dim para As Paragraph
        For Each para In .Paragraphs
            para.Range.Font.Reset
            With para
                .Alignment = wdAlignParagraphLeft
                .LineSpacingRule = wdLineSpace1pt5
                .FirstLineIndent = CentimetersToPoints(0.74)
                .SpaceBefore = 0
                .SpaceAfter = 0
                ' 标题1样式居中、黑体、二号
                If .Style = "标题 1" Or .Style = "Heading 1" Then
                    .Alignment = wdAlignParagraphCenter
                    .Range.Font.Name = "黑体"
                    .Range.Font.Size = 22
                End If
                ' 正文样式宋体、小四
                If .Style = "正文" Or .Style = "Normal" Then
                    .Range.Font.Name = "宋体"
                    .Range.Font.Size = 12
                End If
            End With
        Next para

        .Fields.Update
    End With
End Sub

🤖 AI 评测

这个技能质量中等偏上,胜在功能实用——能批量统一 Word 文档的格式,省去重复排版的麻烦。说明写得清楚,新手跟着步骤也能上手。不过它没有考虑出错的可能,万一某个文件打不开或处理失败了,整个流程就会中断,而且操作前没有自动备份,万一效果不满意就麻烦了。总体来说适合有批量处理需求的用户使用,但建议先备份原文件再用。

📊 多维度评分

适应性4
规范性3.6
有效性4
可靠性3.8
可信度5

📁 包含文件 (1 个)

📄 SKILL.md 4 KB

🔥 大家都在搜

wps 抖音 seo ????