Макеты ActiveDocument

Выгрузка данных из 1C в шаблон Word (Active document)

Чтобы сформировать документ в формате Word, нужно сначала подготовить шаблон. А точнее, создадим макет с типом «Active document» для примера во внешней обработке:

Затем выбираем объект, например, Microsoft Office Word 97-2003:

Откроется чистый документ Word (причем в конфигураторе).

А в документе Word будем расставлять закладки. С закладками работать приятней и быстрей.

Выбираем режим закладок и расставляем:

Прописываем такую процедуру:

//получаем макет из объекта обработки ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); СсылкаМакет = ОбработкаОбъект.ПолучитьМакет("Тест"); Word = СсылкаМакет.Получить();//открываем и активируем документ СсылкаМакет = Word.Application.Documents(1); СсылкаМакет.Activate();// в метод Bookmarks передаем название "закладки" Word.Bookmarks("Тест").Select();//устанавливаем новое значение текста Word.Application.Selection.TypeText("Привет, 1С 8.3! :)");//включаем видимость приложения СсылкаМакет.Application.Visible = Истина;

После вызова процедуры мы получим открытый документ с таким вот сообщением:

Как сформировать новый договор на основании файла Microsoft Word?

Договор = ПолучитьМакет("Тест"); // Получить объект из макета. MSWord = Договор.Получить(); НаименованиеКонтрагента = "ООО Торгуем всем"; Попытка Документ = MSWord.Application.Documents(1); Документ.Activate(); // Получить объект, который будем использовать для поиска и замены. Замена = Документ.Content.Find; // Заменить заранее определенные ключевые конструкции на требуемый текст. Замена.Execute("<НазваниеКомпании>", Ложь, Истина, Ложь, , , Истина, , Ложь, НаименованиеКонтрагента); // Далее аналогично для остальных ключевых конструкций. // Делаем видимым приложение и активизируем его. MSWord.Application.Visible = Истина; MSWord.Activate(); Исключение // Если произойдет ошибка выводятся данные об ошибке и объект закрывается. Сообщить(ОписаниеОшибки()); MSWord.Application.Quit(); КонецПопытки;

Шаблон Сохранить как

МакетDOCX = ПолучитьМакет("МакетWORD"); MSWord = МакетDOCX.Получить(); Попытка СсылкаМакет = MSWord.Application.Documents(1); //открыть Word //СсылкаМакет.Application.Visible = Истина; //СсылкаМакет.Activate(); MSWord.saveas("C:\temp\Тест.doc",0); // (FullPatah, WdSaveFormat)

Исключение //если ошибка Сообщить(ОписаниеОшибки()); КонецПопытки; MSWord.Application.quit();

Перечисление WdSaveFormat (Word)

https://docs.microsoft.com/en-us/office/vba/api/word.wdsaveformat

Задает формат, используемый при сохранении документа.