|
0 / 0 / 0
Регистрация: 11.10.2020
Сообщений: 46
|
|
Delphi 6-7 В документ MS Word записывать одно и то же значение в целую группу закладок22.10.2021, 10:13. Показов 3024. Ответов 21
Метки закладки ms word (Все метки)
Добрый день, форумчане. Столкнулся с необходимостью в документе MS Word записывать одно и то же значение в целую группу закладок. Т. е., например, в документе может быть несколько мест, где нужно вставить одно и то же имя и фамилию. Не могу этого сделать. Помогите, пожалуйста.
Значения закладок записываются в MS WORD на примере предоставленном, Mawrat: Как записать данные в файл MS Word Читал и пытался использовать пример, D1973 из поста #8 взятом вот отсюда: Поиск в WORD и замена на свой текст. Но, в примере, D1973 названия закладок имеют одинаковую длину в 2 символа (z1) и изменяется только префикс. Пример отличный и работает. Однако у меня имена закладок разной длины и я не могу понять как мне пример, D1973 переделать. Еще один нюанс данного примера в том, что он копирует последний символ имени и переводит его в число и на основе этого производит поиск и запись значения в закладку. Но если этих закладок будет больше 10, то соответственно он не будет находить нужную закладку. Пробовал на основе функции определения позиции последнего символа, предложенного также, Mawrat вот из этого поста: поиск в строке с конца вставить в пример, предложенный, D1973, но ничего не выходит также. Я уже отчаялся. Помогите мне кто-нибудь, пожалуйста. Архив с примером прикладываю. Изменил в нем шаблон, в котором есть несколько закладок, в которые необходимо записать одинаковые значения.
0
|
|
| 22.10.2021, 10:13 | |
|
Ответы с готовыми решениями:
21
Можно ли в две разные переменные одновременно записывать одно и тоже значение?
Как двигать целую группу слоев? |
|
Модератор
|
|||||||
| 22.10.2021, 16:19 | |||||||
Сообщение было отмечено sshmatko как решение
Решение Не по теме: Из за Вас пришлось офис ставить, блин... Ладно, если прошлый раз был "объяснение на пальцах", то сейчас будет "объяснение на..." (даже не знаю, на чем, чтобы было проще, чем на пальцах )1. Постановка задачи: Требуется заполнить документ Word данными, а именно: в определенные места в документе необходимо вставить А) ФИО Б) серию и № документа В) дату рождения Каждый из типов данных (А, Б и В) встречается в документе несколько раз. 2. Подготовка шаблона документа Создаю документ MS Word. Пишу / копирую в него текст. Определяю места в документе, на которые должны будут подставляться данные, и вставляю в эти позиции закладки. Каждая закладка в документе Word должна удовлетворять следующим условиям: - Имя закладки начинается только с буквы - Имя закладки уникально в текущем документе - Длина имени закладки не может превышать 40 символов. Я имею 3 вида вставляемых данных, А, Б и В (см. предыдущий пункт), поэтому для удобства восприятия и для сокращения кода придумываю формат имени для закладок: zN_SSS... где z - просто произвольная буква, стоящая на первом месте, потому что см. первое ограничение для имен закладок выше. Букву лучше делать латинскую, иначе с национальными алфавитами можно напороться на непонимание... N - номер группы закладок (про группы закладок см. ниже). Я сам создаю документ, сам определяю, сколько видов данных будет вставлено в документ, поэтому я знаю, сколько групп у меня будет и скольки -значное число мне надо будет использовать._ - просто разделитель между номером группы и дальнейшим именем. Может быть задействован для вычленения номера группы из имени закладки. SSS... - собственно имя закладки. Если не лень писать - можете вбить в это имя все, что уложится в 30+ символов. Лично мне писать всегда день, поэтому я использую короткие имена: z<Номер группы>_<Номер в группе>. И коротко и уникальность имени обеспечена. Не по теме: Важно! Это я сам для себя придумал! Это нигде не регламентировано, это только моя фантазия! Точно так же, как и моя фантазия - группы закладок. Такого понятия нет, но вот мне удобно им оперировать и я его придумал и пользуюсь. Ну а кто мне запретит, в самом-то деле? Систематизируем закладки в документе следующим образом: В группу с номером 1 относим те закладки, на место которых будет подставлено ФИО В группу с номером 2 относим те закладки, на место которых будет подставлены серия и номер документа В группу с номером 3 относим те закладки, на место которых будет подставлена дата рождения. Контрольный вопрос: что будет вставлено на месте закладки с именем [B]z3_Охренительнодлинноеимя7[/B]?Не по теме: Если не ответили - можете сразу бросать это дело, я тогда не знаю, как еще объяснить... Все, текст набран, закладки созданы и расставлены по местам - сохраняем документ и переходим к Delphi 3. Реализация
а) задаю имена файлов: шаблона и нового документа, полученного при заполнении шаблона. б) создаю экземпляр Word Document и гружу в него файл шаблона. в) начинаю обход списка закладок г) вычленяю из имени очередной закладки номер группы и присваиваю этот номер целочисленной переменной. Номер может быть произвольной длины: слева он ограничен символом z, справа - символом _, все что между ними - то номер д) в зависимости от номера вставляю тот или иной текст е) сохраняю под ранее определенным именем и выхожу. ВСЕ!!! (скрин 1 - шаблон. Видны места закладок скрин 2 - новый заполненный файл после нажатия на кнопку программы)
2
|
|||||||
|
0 / 0 / 0
Регистрация: 11.10.2020
Сообщений: 46
|
||
| 22.10.2021, 16:41 [ТС] | ||
![]() Спасибо огромное за такой развернутый ответ, а самое главное без дополнительных велосипедов. Спасибо, всем кто откликнулся. Ваша поддержка неоценима.
0
|
||
| 22.10.2021, 16:41 | |
|
Помогаю со студенческими работами здесь
22
Форматирование закладок в Word Чтение закладок из Word OpenXML и замена закладок в Word Записывать историю калькулятора в текстовый документ Автоматическое заполенение TextBox из закладок MS Word Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|