Доброго времени суток! Имеется документ Word. На его страницах в колонтитуле расположены некоторые объекты - линии, надписи, которые сгруппированы между собой. Необходимо провести поиск и замену по шаблону. Имеется код:
Код | private void Replace(Document oDoc, string toFind, string toReplace, ) { foreach (Range rngStory in oDoc.StoryRanges) { SearchAndReplaceInStory(rngStory, toFind, toReplace);
switch (rngStory.StoryType) { case WdStoryType.wdFirstPageFooterStory: case WdStoryType.wdFirstPageHeaderStory: case WdStoryType.wdMainTextStory: case WdStoryType.wdPrimaryFooterStory: case WdStoryType.wdPrimaryHeaderStory: case WdStoryType.wdTextFrameStory:
if (rngStory.ShapeRange.Count > 0) { foreach (Shape shp in rngStory.ShapeRange) { if (Convert.ToBoolean(shp.TextFrame.HasText)) { SearchAndReplaceInStory(shp.TextFrame.TextRange, toFind, toReplace); } } } break; } } } private void SearchAndReplaceInStory(Range rngStory,string strSearch,string pReplaceTxt) { object toFindTxt = strSearch; object toReplaceTxt = pReplaceTxt; object matchCase = false; object matchWholeWord = true; object matchWildCards = false; object matchSoundsLike = false; object nmatchAllWordForms = false; object forward = true; object format = false; object matchKashida = false; object MatchDiacritics = false; object matchAlefHamza = false; object matchControl = false; object replace = WdReplace.wdReplaceAll; object wrap = WdFindWrap.wdFindContinue; rngStory.Find.ClearFormatting(); rngStory.Find.Replacement.ClearFormatting();
rngStory.Find.Execute( ref toFindTxt, ref matchCase, ref matchWholeWord, ref matchWildCards, ref matchSoundsLike, ref nmatchAllWordForms, ref forward, ref wrap, ref format, ref toReplaceTxt, ref replace, ref matchKashida, ref MatchDiacritics, ref matchAlefHamza, ref matchControl ); }
|
При помощи данного кода производится поиск и замена текста. Все работает корректно, кроме сгруппированных объектов. При попытке добавить метод Ungroup выдается ошибка - отказано в доступе, ну или весь сгруппированный текст удаляется. Прошу помочь. Заранее большое спасибо) |