Договор, сделанный в Word, переделать для работы в Writer

Автор Анюта, 28 февраля 2026, 09:38

0 Пользователи и 1 гость просматривают эту тему.

sokol92

Документ прилагается.
Внесены минимальные правки в части задания суммы договора и отображения суммы прописью.

Владимир.

Анюта

 sokol92, спасибо, файл получила, завтра буду разбираться.                 

Анюта

sokol92, здравствуйте. Тут писать ничего не буду, всё в файле. Хорошего Вам дня.

sokol92

Добрый день!
Один из Ваших вопросов - автоматическое преобразование Фамилии, Имени, Отчества в Фамилию И.О. Здесь точно без макросов не обойтись (примеры для тех, кто считает, что эта задача тривиальна: Ляпкин-Тяпкин Аммос Федорович, Моцарт Вольфганг-Амадей, Де Голль Шарль, Бюль-Бюль оглы Полад :) ). 

Так что переходим (возвращаемся) к варианту с макросами. Я могу подготовить файл к 09.03.2026 (если никто раньше не сделает).
Владимир.

Анюта

Добрый вечер. Отлично! Сроки меня не лимитируют.

sokol92

Вот договор из стартового сообщения, измененный для LibreOffice.

1. Тело договора расположено внутри раздела "TextSection". Если раздел защищен, то пользователь может править только поля ввода. Для включения / отключения зашиты раздела можно вызвать пункт контекстного меню "Правка раздела".

2. Для корректировки полей ввода рекомендуется дважды щелкнуть по любому из них и перейти в диалог "Проверка полей".

3. При открытии документа устанавливается слушатель изменений документа. В случае изменения поля "Фамилия Имя Отчество" продавца или покупателя автоматически пересчитывается соответствующее поле для фамилии и инициалов. Пересчет производится только при защищенном разделе.

В документе содержится упрощенная версия макроса для вычисления фамилии и инициалов. Если результат работы макроса не устраивает, то можно явно в поле "Фамилия Имя Отчество" указать разделитель между фамилией и именем (именами, отчеством) с помощью точки с запятой, например: Де Голль; Шарль. Разумеется, в любом случае можно непосредственно исправить значение поля "Фамилия И.О.".

Пробуйте!
Владимир.

Анюта

 sokol92, только что получила Ваше сообщение, скачала, но пока ещё не открывала. Завтра утром открою и посмотрю. Спасибо за помощь. Всего Вам наилучшего.

Анюта

Всем здравствуйте. Всё прекрасно с договором. Однако не всё так гладко с суммой прописью. В идеале сумма прописью должна отобразиться как, например Двенадцать рублей 15 копеек, т.е.
рубли прописью копейки цифрами. В данном случае # ##0,00 [$₽-419];[RED]-# ##0,00 [$₽-419] не подходит. Возможно есть какой-то иной код формата, который бы выводил копейки цифрами? Я такой в сети не нашла. Понятно нужен макрос. Я обычный пользователь ПК,  мне решить эту проблему самой не получится. Ещё раз прошу помощи. Результат, если кто поможет, прошу сделать в приложенном файле.

bsi

Здравствуйте, Анюта. Ваш вопрос по поводу суммы прописью с копейками цифрами так и не решился ? Возможно лучше решить эту  проблему в Calc ? Проблем меньше. Конечно не так красиво как в Writer, Но зато без макросов и примеров по реализации в сети больше.  В файле двойная фамилия работает без проблем. Предлагаю вариант вашего договора в  Calc. Приложенный файл. В макросах я опыта не имею, т. к. и вы, я обычный пользователь ПК. Я так понимаю, что если на специализированном форуме не смогли помочь, значит не судьба.

economist

Договор - это большой текст, и он должен быть красивым, с ровным правым краем, а не как все ужасное из 1С.

Да, Calc умеет совсем просто выводить числа с 00 копеек. А еще он прекрасно считает. Поменялся НДС с 20 до 22%? - в договоре во Writer можно получить автоматом новое значение итого по таблице. Отформатируйте в Calc формат с 00 копеек. Скопируйте ячейку во Writer, нажмите Ctrl+Z, Ctrl+F2, Функции, DDE, Вставить. Теперь у вас в Договоре сумма прописью, считаемая и форматируемая автоматически/по требованию. Так можно затянуть во Writer и таблицы Calc, и применить к ним местный Стиль таблиц. Этот механизм DDE работает безупречно. 
Пить не буду коньяка - читану Питоньяка!

bsi

 economist, конечно всё должно быть ровно и красиво. Предложенный вами вариант, на мой взгляд, простого пользователя ПК. не совсем удобен. Надо иметь два файла, как я понял, один в Writer другой в Calc. Придётся переключаться с одного файла на дугой, а это как тут пишут, лишние телодвижения. Простой пользователь ПК может и не знать что такое DDE. Человек, задавший вопрос, явно что знает про DDE, просит помощи, а ведь тут явно есть тот кто мог бы ото осуществить. Посмотрите 740 просмотров, явно много кого интересует этот вопрос и я больше чем уверен, что у кого-то есть тот самый макрос для Writer c копейками цифрами. В приложенном файле вариант с реализацией DDE, как я это понял.

bsi

Здравствуйте, Анюта. Последний вам совет. Всё нормально получится с договором в файле  сделанным в Calc. Делается довольно быстро. Открываем файл Calc. Экспортируем в PDF,
Файл - Экспорт в PDF, экспортировали. Это для того чтобы можно было работать с текстом. Надо будет сделать небольшие изменения, чтобы было всё ровно и красиво. Это займёт буквально пару минут. Раз вы общаетесь в форуме значит у вас есть интернет. Пройдите по ссылке Редактор PDF, для ваших целей то что надо. Клик по вставить фал, выбирает файл PDF. когда откроется файл. курсор на  текст, который надо передвинуть, одиночный клик, выделится текст. В рамке выделения будет вверху зелёный кружочек, за него мышкой передвигаем текст в нужное место. Сделали все перемещения текста, их там не много. Т.К. изначально договор сделан в Calc, где-то получились пробелы, их мы убрали. Далее в редакторе, в верхнем правом угу зелёная кнопка ЗАГРУЗИТЬ. На новой станице СКАЧАТЬ ФАЙЛ. Скачиваем в нужную папку. В приложенном файле в архиве три файла сам договор из Calc, сетка в нем срыта поэтому там белый фон, как вернуть сетку, если надо, разберетесь. Ещё два файла PDF договор до модификации в редакторе и после. Думаю всё подробно описал. Больше ни чем помочь не смогу.

economist

#27
Цитата: bsi от Вчера в 12:10...Надо иметь два файла, как я понял, один в Writer другой в Calc. Придётся переключаться с одного файла на дугой, а это как тут пишут, лишние телодвижения. Простой пользователь ПК может и не знать что такое DDE.

В этом-то и проблема: всегда и у всех уже есть два+ файла (текстовый и табличный Word/Writer + Excel/Calc). Но по старинной традиции простой пользователь никогда в этом не сознается, и уж тем более не напишет в вопросе. Поэтому я работаю на опережение, указываю прямой путь для того что на самом деле нужно, а не иду по пути трёпа, известного как XY-проблема.

Обычный пользователь всегда при работе с договором смотрит в несколько таблиц:

- Что продаем (название, цена, кол-во, сбез НДС итд)

- Кому продаем (реквизиты из 1с, подписант, продаваны/покупаны/снабжены)

- и др.

И вот один раз настроив DDE - можно получить заполненный договор со всеми суммами прописью, табличками, спеками - за одну секунду. Потому что Writer при открытии Договора  считает данные из DDE таблиц и ячеек, которые пользователь просто перезаписал поверх, с тем же именем. Любой другой способ будет неполноценным помощником, закрывающим лишь мелочь типа суммы прописью. А слон ручной работы - так и остался слоном.

Изучайте штатный DDE- и полевой функционал LibreOffice. На него разработчики в далеких нулевых убили тонны времени. Он точно работает. И в отличие от макросов его можно осилить при любом уровне знаний и усидчивости. Он хорошо документирован на русском. Им пользуются миллионы (просто не хвастаются). Вы все равно придёте к нему (или ещё более мощному, но так же простому и штатному механизму Слияния/Рассылки по БД). Это точно одна из тем, которая окупается и становится предметом  маленькой личной и офисной гордости. Штатные айтишники таким не пользуются и не помогут вам. Но тут легко освоить самому. Тем более на Форуме десятки случаев описаны и есть те кто помогут.

PS: DDE-связи с файлами Excel (расширения xls xlsx xlsm xlsb) лучше создавать копированием не из Excel, а из Calc (неважно какое расширение у файла). Ну, если хочется не переделывать дважды. Причины, по которым Excel портит DDE-обмен - риторические.
Пить не буду коньяка - читану Питоньяка!