Случилась со мной оказия. Писал для одного клиента в 2010 году обработку, которая заполняла документы в Word по шаблону. Шаблон задавался красиво, причем табличный части тоже аккуратно заполнялись:
Думал когда-нибудь код выложить на Инфостарт даже.
Но вот мне понадобилось сделать такую же шнягу по работе. Полез в архив, а там конфигурация взята на два дня раньше, чем я сделал эту доработку. Т.е. перед самым уходом я разработку не взял, делал ее в последние дни.
Пришлось писать все с нуля, не так красиво и пока что без табличных частей. Увы, но так:
Функция ЗаполнитьДокументWord(Word, ИмяФайла, СтруктураПараметров) Экспорт
Р = Новый Структура("ОК, Ошибка", Ложь, "");
//Заполняет Word файлами и параметрами.
Документ = Word.Documents.Open(ИмяФайла);
Попытка
//открыть документ
Документ = Word.Documents.Open(ИмяФайла);
//Документ = Word.Application.Documents(1);
Документ.Activate();
//обработатьДокумент
//шапка
wdReplaceAll = 00000002;
Для Каждого КЗ из СтруктураПараметров Цикл
ИмяПараметра = КЗ.Ключ;
ЗначениеПараметра = КЗ.Значение;
Замена = Документ.Content.Find;
Замена.Execute(
"["+ИмяПараметра+"]", //Text
Ложь,
Истина,
Ложь,
,
,
Истина,
,
Ложь,
КЗ.Значение,
wdReplaceAll
);
Документ.Save();
Документ.Close(False);
Р.ОК = истина;
Исключение
Р.Ошибка = ОписаниеОшибки();
Если Документ <> Неопределено Тогда
Документ.Close(False);
КонецЕсли;
КонецПопытки;
Возврат Р;
КонецФункции
Journal information