В документе 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);
}
РЕДАКТИРОВАТЬ: Метод выше работает только тогда, когда стиль применяется ко всем абзацам, но не применительно к отдельным словам.