如果是不完全配对的引号,再用这招就会频繁出错了。例如引用长段讲话,引号内分段,段首有引号,段尾却不一定有,引号不是成对出现的,处理就比较麻烦。 给你一段宏代码,用故意弄出来的多篇复杂引号文章测试过多次,全部正确替换。代码不长,但运行时稍微有点卡,可能会耽搁几秒时间,word会假死无反应。 注意:执行前光标必须在错误引号之前,光标前的引号不会被替换,执行完成后光标无法在原处停留; 默认循环99次,如果文档太长,超过了99个段落,则99后面的段落不完全成对的引号配对可能不正确,可自己修改循环次数,或继续执行。循环次数越多,卡顿越严重。 注意,此段代码只能单独使用,如镶嵌在其它宏代码中就会出错。 Sub 引号() Application.ScreenUpdating = False For N = 1 To 99 With Selection.Find .Text = "[" & ChrW(8220) & ChrW(8221) & "]" .Replacement.Text = """" .Forward = True .Wrap = wdFindStop .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = """(*)""" .Replacement.Text = ChrW(8220) & "\1" & ChrW(8221) End With Selection.Find.Execute Replace:=wdReplaceAll Selection.MoveDown unit:=wdParagraph Next N End Sub