怎样在word文档中输入带引号的双引号?

如题所述

如果是完全配对的引号,很容易解决:
1、工具-自动更正选项-镶入时自动套用格式-直引号替换为弯引号,去掉方框里的勾,否则在自动替换后必然全是右引号;
2、使用通配符,查找栏输入 [“”],中括号里是汉字双引号对,中括号连同双引号一起输入,然后全部替换为英文双引号,即直引号;
3、查找栏输入 "(*)",即两个英文双引号,里面是小括号(必须是半角)加星号,全部替换为:“\1”,即汉字双引号里面反斜杠和数字1,搞定。
注意:执行前光标必须在引号对之外,否则替换错误; .Wrap = wdFindStop‘表示光标前的引号不替换; .Wrap = wdFindContinue‘表示替换全文引号。

如果是不完全配对的引号,再用这招就会频繁出错了。例如引用长段讲话,引号内分段,段首有引号,段尾却不一定有,引号不是成对出现的,处理就比较麻烦。
给你一段宏代码,用故意弄出来的多篇复杂引号文章测试过多次,全部正确替换。代码不长,但运行时稍微有点卡,可能会耽搁几秒时间,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
温馨提示:答案为网友推荐,仅供参考