|
3 / 3 / 0
Регистрация: 24.07.2015
Сообщений: 79
|
|
При слиянии в word из excel сохранить в отдельный файл с названиями по определенному полю19.04.2022, 12:45. Показов 27314. Ответов 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 с именем взятым из определенной ячейки
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|