Работа с автозаполнением шаблонов файлов в документообороте

0. pavelpribytkin96 13.09.19 23:40 Сейчас в теме
При автозаполнении шаблонов файлов средствами MS Word возникает такая проблема - если одно и то же поле используется несколько раз в документе, тогда приходится дублировать закладки, например, если поле "Ответственный" используется 2 раза приходится создавать 2 закладки (Ответственный", "Ответственный2") и дублировать правила заполнения для этих полей. В данной статье я хочу рассказать каким образом можно создавать только 1 закладку и использовать данные из этой закладки в других местах документа.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. baykovsky 23.09.19 09:00 Сейчас в теме
Спасибо за интересный прием. Но это далеко не панацея. Как быть, если политикой безопасности запрещено использование макросов?
2. pavelpribytkin96 23.09.19 09:21 Сейчас в теме
Как вариант, можно прописать тот же самый код из макроса в 1С через com объект в процедуре заполнения файла.
Для ворда формата 2007+ это общий модуль «АвтозаполнениеШаблоновФайловКлиентСервер», процедура «ЗаполнитьФайлMSWordВXML».

Код 1С:

ПереместитьФайл(ВременныйZIPФайл, НовыйПутьКФайлу);
	    УдалитьФайлы(ВременнаяПапкаДляРазархивирования);	
	
	//Обновление перекрестных ссылок документа
	Word = New ComObject("Word.Application");
	Word.Documents.Open(НовыйПутьКФайлу);
	For Each Field In Word.ActiveDocument.Fields Do 
		If Field.Type = 3 Then
			Field.Update();
		EndIf;
	EndDo;
	Word.Documents.Close();
	Word.Quit();
	//Конец обновление перекрестных ссылок
	
	ДвоичныеДанныеЗаполненногоФайла = Новый 
        ДвоичныеДанные(НовыйПутьКФайлу);
	УдалитьФайлы(СтарыйПутьКФайлу);
	УдалитьФайлы(НовыйПутьКФайлу);
	
	Возврат ДвоичныеДанныеЗаполненногоФайла;
Показать
Оставьте свое сообщение
Вопросы с вознаграждением