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

Vba 如何删除某种语言的段落?,vba,macos,ms-word,non-english,Vba,Macos,Ms Word,Non English,我希望删除中英文文件中的简体中文文本。文档没有任何设置模式,其中段落使用哪种语言 我尝试了一些按段落和语言搜索的代码版本 Sub DeleteCN() iParCount=ActiveDocument.parations.Count 对于J=1到iParCount sMyPar=ActiveDocument.段落(J).Range.Text 如果sMyPar.WdLanguageID=wdSimpledChinese,则 sMyPar.Delete 如果结束 下一个J 端接头 我最近一次尝试时

我希望删除中英文文件中的简体中文文本。文档没有任何设置模式,其中段落使用哪种语言

我尝试了一些按段落和语言搜索的代码版本

Sub DeleteCN()
iParCount=ActiveDocument.parations.Count
对于J=1到iParCount
sMyPar=ActiveDocument.段落(J).Range.Text
如果sMyPar.WdLanguageID=wdSimpledChinese,则
sMyPar.Delete
如果结束
下一个J
端接头

我最近一次尝试时遇到的错误是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

希望这有帮助。

第一个问题很好。你是清楚和简洁的,包括一个代码示例!