' 一键校准全文档格式Sub 一键校准全文档格式() On Error Resume Next ' 捕获异常,避免中断 Application.ScreenUpdating = False Dim doc As Document Set doc = ActiveDocument ' 明确绑定当前文档对象 Dim para As Paragraph Dim count_para As Integer, count_title As Integer, count_text As Integer count_para = 0: count_title = 0: count_text = 0 ' 遍历文档所有段落 For Each para In doc.Paragraphs If Trim(para.Range.Text) <> vbCr Then count_para = count_para + 1 ' 清除手动格式(使用Word原生支持的方法) para.Range.Font.Reset ' 重置字符格式 para.Range.ParagraphFormat.Reset ' 重置段落格式 ' 匹配样式(使用NameLocal属性确保适配中文Word) Select Case para.Style.NameLocal Case "标题 1" para.Style = doc.Styles("标题 1") count_title = count_title + 1 Case "标题 2" para.Style = doc.Styles("标题 2") count_title = count_title + 1 Case "标题 3" para.Style = doc.Styles("标题 3") count_title = count_title + 1 Case Else para.Style = doc.Styles("正文") count_text = count_text + 1 End Select End If Next para Application.ScreenUpdating = True MsgBox "✅ 全文档校准完成!" & vbCrLf & _ "段落总数:" & count_para & vbCrLf & _ "标题数量:" & count_title & vbCrLf & _ "正文数量:" & count_text, vbInformationEnd Sub' 校准选中内容格式Sub 校准选中内容格式() On Error Resume Next Application.ScreenUpdating = False Dim sel As Selection Set sel = Selection ' 明确绑定选中对象 Dim para As Paragraph Dim count_para As Integer count_para = 0 For Each para In sel.Paragraphs If Trim(para.Range.Text) <> vbCr Then count_para = count_para + 1 para.Range.Font.Reset para.Range.ParagraphFormat.Reset Select Case para.Style.NameLocal Case "标题 1": para.Style = ActiveDocument.Styles("标题 1") Case "标题 2": para.Style = ActiveDocument.Styles("标题 2") Case "标题 3": para.Style = ActiveDocument.Styles("标题 3") Case Else: para.Style = ActiveDocument.Styles("正文") End Select End If Next para Application.ScreenUpdating = True MsgBox "✅ 选中内容校准完成!共处理" & count_para & "个段落", vbInformationEnd Sub