|
3 / 3 / 0
Регистрация: 24.07.2015
Сообщений: 79
|
|
При слиянии в word из excel сохранить в отдельный файл с названиями по определенному полю19.04.2022, 12:45. Показов 27374. Ответов 48
Добрый день!
Есть файл word подготовленный по методу слияния и состоящий из 2000 страниц. Или сделать сразу из файла слияния такое сохранение. Нужно сохранить каждую станицу в отдельный файл каждый под своим именем (наименование организации) которое состоит в вверху страницы и может содержать буквы и/или цифры и/или кавычки. Помогите, пожалуйста, с макросом. Спасибо.
0
|
|
| 19.04.2022, 12:45 | |
|
Ответы с готовыми решениями:
48
Excel и Word: при слиянии из таблицы дата отображается не корректно Как сохранить листы Excel в отдельный файл |
|
малоболт
1328 / 510 / 213
Регистрация: 30.01.2020
Сообщений: 1,244
|
||||||||
| 19.04.2022, 21:05 | ||||||||
|
Могу пока просто предложить стандартный финт ушами от Windows - добавлять номер в скобках в конце названия таких файлов: Вставить между 59 и 60 строкой это:
Что сказать? Кроме вас никто не знает требуемой логики. Если вы не расскажете что вам хотелось бы делать с этими повторяшками (насколько возможно подробнее и с приложением файлов примеров), то мы об этом так и не узнаем и вряд ли что-то предложим.
0
|
||||||||
|
Модератор
|
||||||
| 19.04.2022, 21:22 | ||||||
|
Ируся,
я обычно помещаю код в ексель -книгу -короче код - легче отлаживать
1
|
||||||
|
3 / 3 / 0
Регистрация: 24.07.2015
Сообщений: 79
|
||
| 19.04.2022, 21:49 [ТС] | ||
|
Punkt5, по поводу того что могут быть услуги у одной компании больше одной, забыла. нужно чтобы было так: Если столбец "клиент" и "номер договора" совпадает со следующей строкой то оставалось одним, а столбцы "Услуга", "Цена за 1 ед. (новая)", "Сумма (новая)" шли под предыдущими такими же. Во вложении ексель файл и ворд как я это вижу. Выделила и оставила примечания в файле. Но если название одно, а номера договоров разное чтобы шло как дубль и в скобка было (1) (2) и тд. На сколько это реалистично? Спасибо.
0
|
||
|
3 / 3 / 0
Регистрация: 24.07.2015
Сообщений: 79
|
|
| 19.04.2022, 21:50 [ТС] | |
|
0
|
|
|
3 / 3 / 0
Регистрация: 24.07.2015
Сообщений: 79
|
|
| 19.04.2022, 22:32 [ТС] | |
|
0
|
|
|
Модератор
|
||
| 20.04.2022, 06:18 | ||
|
но конечно проверю сегодня, может в самом деле ошиблась
0
|
||
|
3 / 3 / 0
Регистрация: 24.07.2015
Сообщений: 79
|
|
| 20.04.2022, 09:43 [ТС] | |
|
shanemac51, его надо применить в Excel? Как его внедрить в него? Я просто не когда не сталкивалась с этим.
Если подскажите, буду счастлива. Я просто пробовала его по схеме выше. Сохранила шаблон, код, и ворд файл в одном месте и нажала на этот файл с кодом. И сразу ошибка. Как его открыть, не совсем тогда понимаю. Добавлено через 1 час 44 минуты Punkt5, а можно в ваш код добавить код shanemac51 чтобы что-то дельное вышло?
0
|
|
|
Модератор
|
||
| 20.04.2022, 09:57 | ||
|
например есть - сначала все строки на газ - затем на воду - затем на вывоз мусору надо же выбрать данные Иванова - газ - вода - мусор затем Петрова( у него нет газа) - вода - мусор ....
0
|
||
|
3 / 3 / 0
Регистрация: 24.07.2015
Сообщений: 79
|
||
| 20.04.2022, 10:52 [ТС] | ||
|
0
|
||
|
3 / 3 / 0
Регистрация: 24.07.2015
Сообщений: 79
|
||||||
| 20.04.2022, 11:44 [ТС] | ||||||
|
Punkt5, у меня почему-то берет название из колонки с названием, а не из первого столбца, как быть?
0
|
||||||
|
малоболт
1328 / 510 / 213
Регистрация: 30.01.2020
Сообщений: 1,244
|
|||||||
| 20.04.2022, 14:39 | |||||||
2
|
|||||||
|
0 / 0 / 0
Регистрация: 01.05.2022
Сообщений: 7
|
||||||
| 02.05.2022, 00:57 | ||||||
|
Punkt5, большое Вам спасибо за код. Я его также использую для аналогичной ситуации.
Но у меня возникла ошибка при исполнении кода. Дело в том, что в таблице присутствуют большие тексты (примерно 105 слов в ячейке), и скрипт отказывается работать, выдает следующую ошибку: "Слишком длинный строковый параметр". Фото ошибки приложено к посту. Можно как-то обойти эту ошибку?
0
|
||||||
|
малоболт
1328 / 510 / 213
Регистрация: 30.01.2020
Сообщений: 1,244
|
||||||
| 02.05.2022, 06:27 | ||||||
|
Smailm, FindAndReplace в Word ограничивает длину строки_которую_ищем и строки_на_которую_заменяем. Они не могут быть более 254 символов.
В Word-шаблоне длину строки_которую_ищем вы и сами надеюсь ограничите. А вот строку_на_которую_меняем придётся разбивать на небольшие_куски. И в цикле заменять строку_которую_ищем на этот небольшой_кусок+строка_которую_ищем. Пока не доберёмся до последнего куска, который заведомо меньше ограничения в 254 символа. И под конец на радостях меняем строку_которую_ищем на последний_кусок. В вашем коде: 1. В первой строке в DIM добавьте wStr, xStr 2. 53-ю строку замените на:
0
|
||||||
|
Модератор
|
|||||||
| 02.05.2022, 11:08 | |||||||
1
|
|||||||
|
0 / 0 / 0
Регистрация: 01.05.2022
Сообщений: 7
|
||||||
| 02.05.2022, 12:19 | ||||||
|
Punkt5, благодарю Вас за оперативный ответ!
Ваш срипт работает блестяще, но к сожалению упирается в ограничение в 254 символа. Длина проблемных строк, которые мы ищем, короткие ("«Обязанности_ENG»","«Обязанности_RUS»" ), они не превышают 254 символа. Но вот содержимое этих ячеек для каждого человека может быть разным и у многих значительно превышает 254 символа. Причем обязанности каждого человека дублируется на английском и на русском языках. Например, 840 символов (Rus) + 840 символов (Eng) для одного человека. Если я Вас правильно понял, то Вы предлагаете вручную дробить длинный текст на мелкие куски. Учитывая, что людей будет много, то их двуязычных обязанностей тоже будет много. Получается, что вариант с ручным разделением текста не подойдет, это очень трудоемко. Быстрее делать стандартное слияние через мастер слияния Word (у него кстати, нет ограничения на длину слияемого текста), но как известно Word не умеет разделять объединенный файл на отдельные файлы и давать названия таким файлам. Если вариантов решения данной проблемы для вашего скрипта нет (из-за ограничения в 254 символа), то не могли бы вы посмотреть скрипт, который я нашел у англоязычной аудитории? Там тема поднималась много лет назад. Я не понимаю в языке программирования и не могу понять в чем ошибка исполнения скрипта. Их скрипт работает по другому принципу, описание работы скрипта есть в комментируемой части скрипта. Краткая суть, слияние файлов происходит мастером слияния Word, а потом запускается макрос и объединенный файл делится на отдельные части. В описании к скрипту указано, что первая строка должна иметь наименование файла, конец каждого файла должен иметь разрыв раздела (это можно найти в разделе «Макет страницы/Разрывы/Разрыв раздела на следующей странице»). Делаю все как указано в их инструкции, но у меня появляется вот такая ошибка: Run-time error "5552": Выделенный фрагмент не содержит уровней заголовков. При нажатии на кнопку Debug в Word, то открывается Microsoft Visual Basic for Applications в котором подсвечивается проблемная часть кода " doc.Subdocuments.AddFromRange _ doc.Sections(secCounter).Range". И тут не понятно, то ли ошибка в форматировании файла, то ли в коде скрипта. На всякий случай прикладываю сами файлы (excel откуда берутся данные и вордовский файл).
0
|
||||||
|
Модератор
|
|
| 02.05.2022, 12:22 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2022
Сообщений: 7
|
|
| 02.05.2022, 12:24 | |
|
shanemac51, ваше предложение смотрится практично, так удобнее делать сопоставление, спасибо!
Но насколько я понимаю, это не решит проблему с ограничением в 256 символов.
0
|
|
|
Модератор
|
|||
| 02.05.2022, 12:24 | |||
|
Добавлено через 34 секунды
0
|
|||
|
0 / 0 / 0
Регистрация: 01.05.2022
Сообщений: 7
|
|||
| 02.05.2022, 12:31 | |||
|
Возможно скрипт, который я приложил, если он корректный, то вся работа ложится на мастер слияния Word. Буду вам благодарен за помощь в решении вопроса.
0
|
|||
|
малоболт
1328 / 510 / 213
Регистрация: 30.01.2020
Сообщений: 1,244
|
|||||||||||||||||
| 02.05.2022, 12:49 | |||||||||||||||||
|
Вам надо заменить 53 строку кода, который вы привели, как уже используемый вами. Вот эту:
Добавлено через 1 минуту Должно получиться:
1
|
|||||||||||||||||
| 02.05.2022, 12:49 | |
|
Как сохранить рисунок из Word'a в отдельный файл (*.bmp; *.jpg; *.gif ...) Как, находясь в Excel и открыв из под него Word-овский файл, сохранить этот файл в другом формате? Сохранить табличный документ в файл Word или Excel Сохранить word файл из excel с именем взятым из определенной ячейки
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|