word宏vba替换符号

问题描述 投票:0回答:1

我有一份近 600 页的文档,其中有数百个以“«”符号开头并以“»”符号结尾的对话。 我的问题是所有对话都以“.»”结尾,但它们应该以没有“.”的方式结尾。 需要明确的是,我必须有“«xxx»”,而不是“«xxx.»”。 正常的替换功能不像我尝试过的宏那样工作。 有没有办法通过宏来实现我的目标以避免手动执行? 谢谢大家。

我尝试用查找和替换来替换字符串: .text =“。” &“chrw(187) .replacement.text = chrw(187) 但宏给出了一个“而不是»作为替换文本。

vba replace ms-word find symbols
1个回答
0
投票

我猜这与 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 来运行代码。

如果没有出现问题,应该将所有“.»”字符串更改为“»”。

© www.soinside.com 2019 - 2024. All rights reserved.