如何删除某种语言的段落?

How do I delete paragraphs of a certain language?

我想删除中英文文档中的简体中文文本。这些文档没有任何段落使用哪种语言的固定模式。

我尝试了几个按段落和语言搜索的代码版本。

Sub DeleteCN()
    iParCount = ActiveDocument.Paragraphs.Count
    For J = 1 To iParCount
        sMyPar = ActiveDocument.Paragraphs(J).Range.Text
        If sMyPar.WdLanguageID = wdSimplifiedChinese Then
            sMyPar.Delete
        End If
    Next J
End Sub

我最近一次尝试遇到的错误是 If 行需要一个对象。

您的代码存在一些问题。

1) 最严重的是你必须反转你的循环。必须反转循环,因为当您删除一个段落时,段落数会动态变化,然后以后的段落将不再存在。

2) 其余都是语法错误,你可以在代码中查看语法更新的地方。如果您声明变量,将更容易了解正确的语法。

Sub DeleteCN()

Dim iParaCount As Integer
Dim para As Paragraph

iParaCount = ActiveDocument.Paragraphs.Count

For J = iParaCount To 1 Step -1
    Set para = ActiveDocument.Paragraphs(J)
    If para.Range.LanguageID = wdSimplifiedChinese Then
        para.Range.Delete
    End If
Next J

End Sub

希望对您有所帮助。