C#查找并删除所有出现的Word样式

时间:2019-06-26 06:23:54

标签: c# ms-word office-interop word-interop

在Word文档中,我想查找所有出现的样式并将其删除,这意味着删除所有应用样式的文本。这是一种字符样式,因此可以应用于单个单词或段落中的所有单词。

这是我到目前为止所拥有的:

public void removeStyle(Microsoft.Office.Interop.Word.Document document, string styleName)
{
    Microsoft.Office.Interop.Word.Range rng = document.Range();

    Microsoft.Office.Interop.Word.Style style = null;

    foreach (Microsoft.Office.Interop.Word.Style currentStyle in document.Styles)
    {
        if (currentStyle.NameLocal == "Only CZ")
            style = currentStyle;
    }

    rng.Find.ClearFormatting();
    rng.Find.Replacement.ClearFormatting();

    rng.Find.set_Style(style);
    rng.Find.Forward = true;
    rng.Find.Wrap = Microsoft.Office.Interop.Word.WdFindWrap.wdFindStop;

    //change this property to true as we want to replace format
    rng.Find.Format = true;

    rng.Find.Execute(Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll);
}

编辑:仅当样式应用于整个段落时,上述方法才有效,而当应用于单个单词时,则无效。

0 个答案:

没有答案