Sub ReplaceEnglishQuotesWithChinese()
Dim rng As Range
Dim doubleQuoteOpen As Boolean
Dim singleQuoteOpen As Boolean
Set rng = ActiveDocument.Content
doubleQuoteOpen = True
singleQuoteOpen = True
With rng.Find
.ClearFormatting
.MatchWildcards = False
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
' 替换英文双引号
Do While rng.Find.Execute(FindText:="""", Replace:=wdReplaceNone)
If doubleQuoteOpen Then
rng.Text = """
Else
rng.Text = """
End If
doubleQuoteOpen = Not doubleQuoteOpen
rng.Collapse wdCollapseEnd
Loop
' 重设范围
Set rng = ActiveDocument.Content
' 替换英文单引号
Do While rng.Find.Execute(FindText:="'", Replace:=wdReplaceNone)
If singleQuoteOpen Then
rng.Text = "'"
Else
rng.Text = "'"
End If
singleQuoteOpen = Not singleQuoteOpen
rng.Collapse wdCollapseEnd
Loop
End With
MsgBox "英文引号已替换为中文引号!"
End Sub
-
打开 Word;
-
按下
Alt + F11
打开 VBA 编辑器; -
菜单栏 →
插入
→模块
; -
将上面的代码粘贴进去;
-
关闭编辑器;
-
在 Word 中按
Alt + F8
; -
选择
ReplaceEnglishQuotesWithChinese
→ 点击"运行"