我正在尝试替换所有左右双角引号
chr(171) 和 chr(187),后跟一个空格 chr(32),即 «
或 »
分别仅包含 chr(171) 或 chr(187)。
将此“« Abc ”替换为“«Abc ”
和
将此“xyz »”替换为“xyz»”
我使用下面的代码,但替换后,字符是双引号“
而不是双角引号«
Sub ReplaceDoubleAngleQuotes()
With Selection.Find
.ClearFormatting
.Text = Chr(171) & Chr(32)
.Replacement.ClearFormatting
.Replacement.Text = Chr(171)
.Execute Replace:=wdReplaceAll, Forward:=True, _
Wrap:=wdFindContinue
End With
End Sub
如何解决这个问题?提前致谢。
最佳答案
可能您已打开 .AutoFormatAsYouTypeReplaceQuotes
并且您的 Word 正在将 chr(171) («) 更改为“”。
如果您只想为“查找和替换”功能关闭此功能,请执行以下操作:
Sub ReplaceDoubleAngleQuotes()
Dim userSmartQuotes As Boolean
userSmartQuotes = Options.AutoFormatAsYouTypeReplaceQuotes
Options.AutoFormatAsYouTypeReplaceQuotes = False
With Selection.Find
.ClearFormatting
.Text = Chr(171) & Chr(32)
.Replacement.ClearFormatting
.Replacement.Text = Chr(171)
.Execute Replace:=wdReplaceAll, Forward:=True, _
Wrap:=wdFindContinue
End With
Options.AutoFormatAsYouTypeReplaceQuotes = userSmartQuotes
End Sub
如果您只想关闭此功能(而不返回主设置),请输入
Options.AutoFormatAsYouTypeReplaceQuotes = False
在开始,仅此而已。
关于vba - 错误替换双引号而不是双角引号 VBA Word,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59624061/