0
SRM1C
19.07.17
✎
13:47
|
День добрый!
К сожалению, пришлось продублировать тему.
Имеется код:
Функция ЗаменитьШаблонВВордеНаТекст(Ворд, ШаблонВВорде, ТекстЗамены, Все = Истина)
// В цикле будем искать все шаблоны указанного вида
Ворд.Selection.Find.MatchWholeWord = 1;
Ворд.Selection.Find.MatchCase = 0;
Ворд.Selection.Find.Wrap = 1;
Ворд.Selection.Find.Text = ШаблонВВорде;
Рез = Ворд.Selection.Find.Execute();
Если НЕ Рез Тогда
Ворд.Selection.Sections(1).Footers(1).Range.Find.Execute("{ДоговорНаименованиеДата}", Ложь, Истина, Ложь, , , Истина, , Ложь, ТекстЗамены, 2);
КонецЕсли;
Если Все Тогда
Пока Рез Цикл
Если НЕ ПустаяСтрока(ТекстЗамены) Тогда
Ворд.Selection.TypeText(ТекстЗамены);
Иначе
Ворд.Selection.Delete(1,1);
КонецЕсли;
Рез = Ворд.Selection.Find.Execute();
КонецЦикла;
ИначеЕсли Рез Тогда
Если НЕ ПустаяСтрока(ТекстЗамены) Тогда
Ворд.Selection.TypeText(ТекстЗамены);
Иначе
Ворд.Selection.Delete(1,1);
КонецЕсли;
Иначе
Возврат Рез;
КонецЕсли;
Возврат Рез;
КонецФункции // ЗаменитьШаблонВВордеНаТекст()
Если Переменная Рез не нашла вхождения в тексте пытается искать в колонтитуле, соответственно добавил
Если НЕ Рез Тогда
Ворд.Selection.Sections(1).Footers(1).Range.Find.Execute("{ДоговорНаименованиеДата}", Ложь, Истина, Ложь, , , Истина, , Ложь, ТекстЗамены, 2);
КонецЕсли;
В процедуру приходит:
ШаблонВВорде - Название параметра.
ТекстЗамены - Текст замены.
Проблема заключается в том, что на разных страницах колонтитулы с разным ТекстомЗамены. Где ошибка не понятно, перепробовал множество вариантов, желаемого не достиг,буду рад услышать мнение знатоков.
Ворд подключен как COMОбъект("Word.Application")
Заранее спасибо всем.
|
|