1

Тема: Нужен перенос текста с одного документа на другой.

Доброго времени суток, Ув. Форумчане! В ворде абсолютный новичок. И тема с автоматизацией Ворда для меня была грубо говоря, "ШОКОМ". И так, вопрос таков есть огромное количество док-ов в ворде (Резюмешки). Нужно их перенести на новый шаблон. Поискал тут на форуме не нашёл ничего подходящего под мои запросы. Можно ли макросами автоматизировать процесс чтобы макрос копировал скажем с док-та "А" в документ "Б" только текст со вставкой в определённые ячейки таблицы? И сохранял по возможности с ФИО?

Post's attachments

ШАБЛОН.doc 58.5 Кб, 2 скачиваний с 2017-12-28 

You don't have the permssions to download the attachments of this post.

2

Re: Нужен перенос текста с одного документа на другой.

djsurik пишет:

Доброго времени суток, Ув. Форумчане! В ворде абсолютный новичок. И тема с автоматизацией Ворда для меня была грубо говоря, "ШОКОМ". И так, вопрос таков есть огромное количество док-ов в ворде (Резюмешки). Нужно их перенести на новый шаблон. Поискал тут на форуме не нашёл ничего подходящего под мои запросы. Можно ли макросами автоматизировать процесс чтобы макрос копировал скажем с док-та "А" в документ "Б" только текст со вставкой в определённые ячейки таблицы? И сохранял по возможности с ФИО?

Добрый день. Ваша задача непроста, т.к. исходные резюме могут иметь различную структуру, а вы, как я понял, хотите каждое такое резюме перенести в шаблон, что, конечно повысит их единообразие, а значит - ценность, т.к. это станут формализованные документы. Вам необходимо сначала обдумать алгоритм обработки. Например, он мог бы быть таким.
Чтобы решить вашу задачу в общем виде, надо как в исходных документах, так и в шаблоне расставить закладки Word (т.е., bookmark'и), причем имеющие общий префикс в имени, чтобы их отличать от прочих закладок. Тогда процесс переноса мог бы быть таким:
1. Макрос по циклу обрабатывает документы в целевой папке, содержащей исходные резюме
2. Макрос открывает шаблон
3. Макрос открывает очередной целевой документ
4. Макрос сканирует закладки шаблона по согласованному префиксу имени. Если закладка с таким же именем есть в документе резюме, то в шаблон переносится текст этой закладки.
5. Документ шаблона сохраняется в папку обработанных резюме с именем, отвечающим той закладке, которая содержит ФИО (если такая не будет найдена, то с именем, формируемым по правилу, которое вы должны сформулировать).
После обработки вы должны последовательно вручную открыть все обработанные файлы и выполнить следующее:
1. Те закладки, что не были обработаны макросом (по причине ненахождения) вы должны скорректировать вручную.
2. Если ФИО не было обнаружено, то определить его и сохранить документ с нужным именем.
Только имея общее представление о необходимой обработке, можно оценить трудозатраты и понять, стоит ли игра свеч.

3

Re: Нужен перенос текста с одного документа на другой.

Кстати, для ускорения расстановки закладок можно было бы также написать мини-макросы. Тогда работа по разметке выглядела бы так: обводите текст и щелкаете на соответствующей кнопке.
Напр., макрос по формированию закладки ФИО мог бы выглядеть так:

Sub BM_FIO()
Dim bm_bodyname As String
Dim bm_name As String
Const bm_prefixname As String = "Res_"
bm_bodyname = "FIO"
bm_name = bm_prefixname & bm_bodyname
If ActiveDocument.Bookmarks.Exists(bm_name) Then
    ActiveDocument.Bookmarks(bm_name).Delete
End If
Selection.Bookmarks.Add name:=bm_name, range:=Selection.range
End Sub

Другие макросы будут отличаться лишь строкой, где вы будете указывать имя тела целевой закладки:

bm_bodyname = "..."