我有一份近 600 页的文档,其中有数百个以“«”符号开头并以“»”符号结尾的对话。 我的问题是所有对话都以“.»”结尾,但它们应该以没有“.”的方式结尾。 需要明确的是,我必须有“«xxx»”,而不是“«xxx.»”。 正常的替换功能不像我尝试过的宏那样工作。 有没有办法通过宏来实现我的目标以避免手动执行? 谢谢大家。
我尝试用查找和替换来替换字符串: .text =“。” &“chrw(187) .replacement.text = chrw(187) 但宏给出了一个“而不是»作为替换文本。
我猜这与 VBA 查找/替换框中的字符代码有关,它不能很好地识别“»”字符。
我使用简单的用户窗体进行了测试,并模拟了“查找/替换”对话框,结果成功。
我准备了一个带有文本框和命令按钮的简单用户窗体。
在 UserForm 模块中,我有以下代码;
Private Sub CommandButton1_Click()
Dim regExp As Object
Set regExp = CreateObject("VBscript.RegExp")
regExp.Pattern = "." & TextBox1.Text
regExp.Global = True
regExp.MultiLine = True
ActiveDocument.Range.Text = regExp.Replace(ActiveDocument.Range.Text, TextBox1.Text)
Unload Me
Set regExp = Nothing
End Sub
在运行用户窗体之前,从文档中复制 » 字符并粘贴到文本框中,然后单击 CommandButton 来运行代码。
如果没有出现问题,应该将所有“.»”字符串更改为“»”。