Как разбить файл на отдельные файлы по одной странице
Здравствуйте. Есть срочная необходимость разбить файл Word (состоящий из N-листов, например 10) на отдельные файлы, состоящие из 1 листа каждый. Подскажите пожалуйста, как решить такую «задачку»? Спасибо.
2 Ответ от Alex_Gur 19.05.2015 09:58:14
Re: Как разбить файл на отдельные файлы по одной странице
Посмотрите, пожалуйста, здесь:
http://wordexpert.ru/forum/viewtopic.php?id=2633
Мы как раз сейчас обсуждаем особенности программной работы со страницами.
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк — 41001162202962; на WebMoney — R581830807057.
3 Ответ от POLYARikSPb 19.05.2015 14:00:13
Re: Как разбить файл на отдельные файлы по одной странице
Спасибо, посмотрел Вашу ссылку, но не нашел ответа на свой вопрос. Может кто еще, что подскажет в решении данной задачки.
4 Ответ от Alex_Gur 19.05.2015 14:10:49
Re: Как разбить файл на отдельные файлы по одной странице
Алгоритм макроса может быть такой: Вы выделяете первую страницу, копируете ее, открываете новый документ, вставляете страницу в новый документ, сохраняете его под соответствующим именем и так далее со всеми страницами.
Напишете сами такой макрос?
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк — 41001162202962; на WebMoney — R581830807057.
5 Ответ от POLYARikSPb 19.05.2015 15:00:12
Re: Как разбить файл на отдельные файлы по одной странице
К сожалению не напишу сам. «Не дружу» я с макросами. Если поможете написать, буду очень благодарен Вам. Быть может еще кому из форумчан пригодится данный «кейс»
6 Ответ от Alex_Gur 19.05.2015 15:03:27
Re: Как разбить файл на отдельные файлы по одной странице
POLYARikSPb пишет:
К сожалению не напишу сам. «Не дружу» я с макросами. Если поможете написать, буду очень благодарен Вам. Быть может еще кому из форумчан пригодится данный «кейс»
Попробую, если меня не обгонят другие эксперты.
Сейчас много работы.
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк — 41001162202962; на WebMoney — R581830807057.
7 Ответ от POLYARikSPb 19.05.2015 15:23:50
Re: Как разбить файл на отдельные файлы по одной странице
ОК, буду с нетерпением ждать
8 Ответ от Alex_Gur 19.05.2015 15:41:36
Re: Как разбить файл на отдельные файлы по одной странице
Выложите, пожалуйста, пример файла, к которому нужно применить такой макрос.
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк — 41001162202962; на WebMoney — R581830807057.
9 Ответ от POLYARikSPb 19.05.2015 16:06:58
Re: Как разбить файл на отдельные файлы по одной странице
Post’s attachments
Бланк уставок ШЭ2607 081_205 Л-111.doc 1005 Кб, 8 скачиваний с 2015-05-19
You don’t have the permssions to download the attachments of this post.
10 Ответ от Alex_Gur 19.05.2015 16:47:57
Re: Как разбить файл на отдельные файлы по одной странице
Получилось что-то такое:
Sub FormSomeFilesPages2() Dim i As Integer Dim j As Integer ' Номер страницы Dim strNameDoc As String ' Имя очередного сохраняемого документа j = 1 ' Обход всех страниц главного документа For i = 1 To ActiveDocument.ActiveWindow.Panes(1).Pages.Count ' Переход на первую страницу Selection.HomeKey Unit:=wdStory ' Выделение текущей страницы ActiveDocument.Bookmarks("\page").Range.Select ' Вырезание выделенного фрагмента и помещение его в буфер обмена Selection.Cut ' Открыть новый документ Documents.Add DocumentType:=wdNewBlankDocument ' Вставить данные из буфера обмена в новый документ Selection.Paste ' Сохранить и закрыть новый документ strNameDoc = "doc" + str(j) + ".docx" ActiveDocument.SaveAs2 filename:=strNameDoc ActiveDocument.Close SaveChanges:=True j = j + 1 Next i End Sub
В процессе работы макроса оригинальный файл изменяется. Поэтому сохранять его после окончания макроса не надо.
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк — 41001162202962; на WebMoney — R581830807057.
11 Ответ от Alex_Gur 19.05.2015 16:54:23
Re: Как разбить файл на отдельные файлы по одной странице
При разделении Вашего файла у меня получилось на одну страницу меньше (см. приложение).
Чтобы получилось точнее Вам нужно сделать следующее:
1) Убрать повторение заголовков таблиц. Повторение заголовков как часть следующей страницы все равно не распознается (фактически его на этой странице нет).
2) Для всех таблиц нужно установить режим Не разрешать перенос строк на следующую страницу (Свойства таблицы — вкладка Строка — снять флажок Разрешить перенос строк на следующую страницу).
Post’s attachments
doc.zip 508.46 Кб, 7 скачиваний с 2015-05-19
You don’t have the permssions to download the attachments of this post.
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк — 41001162202962; на WebMoney — R581830807057.
12 Ответ от POLYARikSPb 19.05.2015 22:09:46
Re: Как разбить файл на отдельные файлы по одной странице
Спасибо, вроде работает
13 Ответ от Boris_R 20.05.2015 00:26:06
Re: Как разбить файл на отдельные файлы по одной странице
Если после разбиения на одностраничные файлы отсутствует необходимость дальнейшего редактирования полученных одностраничных файлов, то самый надежный способ — это сохранить файл в формате PDF с последующим разбиением полученного PDF файла на отдельные страницы.
Во вложении результат такого разбиения, сделанного с помощью Foxit Phantom. Можно использовать и другие программы для редактирования PDF файлов.
Post’s attachments
PDF_split.7z 415.23 Кб, 3 скачиваний с 2015-05-20
You don’t have the permssions to download the attachments of this post.
14 Ответ от POLYARikSPb 20.05.2015 08:38:04
Re: Как разбить файл на отдельные файлы по одной странице
Спасибо за овет. Этот способ я и сам знаю. Задача состоит именно в разбивке на листы ворд. В дальнейшем, которые нужно вставлять в автокад по-странично, так как при вставке файла ворд (состоящего из N-листов) вставляется только первый лист ворда. Вставлять в автокад в пдф формате мне не нужно.
Boris_R пишет:
Если после разбиения на одностраничные файлы отсутствует необходимость дальнейшего редактирования полученных одностраничных файлов, то самый надежный способ — это сохранить файл в формате PDF с последующим разбиением полученного PDF файла на отдельные страницы.
Во вложении результат такого разбиения, сделанного с помощью Foxit Phantom. Можно использовать и другие программы для редактирования PDF файлов.
15 Ответ от azur 07.09.2018 07:26:31
Re: Как разбить файл на отдельные файлы по одной странице
Приветствую!
Помогите, пожалуйста, решить пару проблем.
1) При работе найденного на просторах инета макроса после разбиения word-документа на отдельные документы в них добавляется вторая пустая страница?
Что в макросе подкрутить, чтобы пустая страница не добавлялась?
Sub SplitIntoPages() Dim docMultiple As Document Dim docSingle As Document Dim rngPage As Range Dim iCurrentPage As Integer Dim iPageCount As Integer Dim strNewFileName As String Application.ScreenUpdating = False 'Makes the code run faster and reduces screen _ flicker a bit. Set docMultiple = ActiveDocument 'Work on the active document _ (the one currently containing the Selection) Set rngPage = docMultiple.Range 'instantiate the range object iCurrentPage = 1 'get the document's page count iPageCount = docMultiple.Content.ComputeStatistics(wdStatisticPages) Do Until iCurrentPage > iPageCount If iCurrentPage = iPageCount Then rngPage.End = ActiveDocument.Range.End 'last page (there won't be a next page) Else 'Find the beginning of the next page 'Must use the Selection object. The Range.Goto method will not work on a page Selection.GoTo wdGoToPage, wdGoToAbsolute, iCurrentPage + 1 'Set the end of the range to the point between the pages rngPage.End = Selection.Start End If rngPage.Copy 'copy the page into the Windows clipboard Set docSingle = Documents.Add 'create a new document docSingle.Range.Paste 'paste the clipboard contents to the new document 'remove any manual page break to prevent a second blank docSingle.Range.Find.Execute Findtext:="^m", ReplaceWith:="" 'build a new sequentially-numbered file name based on the original multi-paged file name and path strNewFileName = Replace(docMultiple.FullName, ".doc", "_" & Right$("000" & iCurrentPage, 4) & ".doc") docSingle.SaveAs strNewFileName 'save the new single-paged document iCurrentPage = iCurrentPage + 1 'move to the next page docSingle.Close 'close the new document rngPage.Collapse wdCollapseEnd 'go to the next page Loop 'go to the top of the do loop Application.ScreenUpdating = True 'restore the screen updating 'Destroy the objects. Set docMultiple = Nothing Set docSingle = Nothing Set rngPage = Nothing End Sub
—————
2. Ещё вопрос.
Планируется сделать паспорта ПК. Очень много.
Инфа из экселя сливается в word-форму через поля слияния (получается длинная простыня на много страниц), а вышеприведённым макросом разрезается на файлы и сохраняется. НО появились неудобство.
Документов после разбиения будет за 350 штук. Вышеприведённый макрос сохраняет нарезанные документы по шаблону «Название_исходного_файла+Номер«. Придётся каждый файл открывать, копировать и/н ПК, закрывать, переименовывать файл . Есть большое желание, чтобы макрос перед сохранением «заглядывал в определённое место в сохраняемом документе, брал с оттуда текст и присваивал этот текст как имя сохраняемого документа (инвентарный номер ПК).
Подскажите, как это сделать?
16 Ответ от Fck_This 07.09.2018 11:41:29
- Fck_This
- генерал-полковник
- Неактивен
- Откуда: Минск, Беларусь
- Зарегистрирован: 13.07.2016
- Сообщений: 648
- Поблагодарили: 97
- За сообщение: 1
Re: Как разбить файл на отдельные файлы по одной странице
azur пишет:
Приветствую!
Помогите, пожалуйста, решить пару проблем.
1) При работе найденного на просторах инета макроса после разбиения word-документа на отдельные документы в них добавляется вторая пустая страница?
Что в макросе подкрутить, чтобы пустая страница не добавлялась?
Sub SplitIntoPages() Dim docMultiple As Document Dim docSingle As Document Dim rngPage As Range Dim iCurrentPage As Integer Dim iPageCount As Integer Dim strNewFileName As String Application.ScreenUpdating = False 'Makes the code run faster and reduces screen _ flicker a bit. Set docMultiple = ActiveDocument 'Work on the active document _ (the one currently containing the Selection) Set rngPage = docMultiple.Range 'instantiate the range object iCurrentPage = 1 'get the document's page count iPageCount = docMultiple.Content.ComputeStatistics(wdStatisticPages) Do Until iCurrentPage > iPageCount If iCurrentPage = iPageCount Then rngPage.End = ActiveDocument.Range.End 'last page (there won't be a next page) Else 'Find the beginning of the next page 'Must use the Selection object. The Range.Goto method will not work on a page Selection.GoTo wdGoToPage, wdGoToAbsolute, iCurrentPage + 1 'Set the end of the range to the point between the pages rngPage.End = Selection.Start End If rngPage.Copy 'copy the page into the Windows clipboard Set docSingle = Documents.Add 'create a new document docSingle.Range.Paste 'paste the clipboard contents to the new document 'remove any manual page break to prevent a second blank docSingle.Range.Find.Execute Findtext:="^m", ReplaceWith:="" 'build a new sequentially-numbered file name based on the original multi-paged file name and path strNewFileName = Replace(docMultiple.FullName, ".doc", "_" & Right$("000" & iCurrentPage, 4) & ".doc") docSingle.SaveAs strNewFileName 'save the new single-paged document iCurrentPage = iCurrentPage + 1 'move to the next page docSingle.Close 'close the new document rngPage.Collapse wdCollapseEnd 'go to the next page Loop 'go to the top of the do loop Application.ScreenUpdating = True 'restore the screen updating 'Destroy the objects. Set docMultiple = Nothing Set docSingle = Nothing Set rngPage = Nothing End Sub
—————
2. Ещё вопрос.
Планируется сделать паспорта ПК. Очень много.
Инфа из экселя сливается в word-форму через поля слияния (получается длинная простыня на много страниц), а вышеприведённым макросом разрезается на файлы и сохраняется. НО появились неудобство.
Документов после разбиения будет за 350 штук. Вышеприведённый макрос сохраняет нарезанные документы по шаблону «Название_исходного_файла+Номер«. Придётся каждый файл открывать, копировать и/н ПК, закрывать, переименовывать файл . Есть большое желание, чтобы макрос перед сохранением «заглядывал в определённое место в сохраняемом документе, брал с оттуда текст и присваивал этот текст как имя сохраняемого документа (инвентарный номер ПК).
Подскажите, как это сделать?
Спасибо!
Ну так, документ в студию. Вторая пустая скорее всего добавляется из-за знака абзаца в конце. Просто добавьте в макрос строку удаления последнего знака абзаца. Что-то вроде
If ActiveDocument.Characters.Last = Chr(13) Then ActiveDocument.Characters.Last.Delete
А по поводу «заглядывать в конкретное место — надо знать место. Это может быть ячейка таблицы или по маркеру искать (вроде Selection.find по знаку «№»).
Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871
17 Ответ от azur 10.09.2018 02:26:22
Re: Как разбить файл на отдельные файлы по одной странице
Fck_This пишет:
Что-то вроде
If ActiveDocument.Characters.Last = Chr(13) Then ActiveDocument.Characters.Last.Delete
— в какую строку добавить этот код?
———
Fck_This пишет:
А по поводу «заглядывать в конкретное место — надо знать место. Это может быть ячейка таблицы или по маркеру искать (вроде Selection.find по знаку «№»).
— приложил файл с первыми тремя листами результата слияния. Красным выделено место инвентарного номера.
Мысль пришла.
Изменить или добавить в другое место инвентарный номер нельзя (утверждённый бланка). «Это может быть ячейка таблицы» — если вдруг изменится таблица/бланк, то тогда макрос перестанет работать.
Быть может, добавить дополнительно мелким шрифтом и белого цвета поле слияния с и/н в верхний колонтитул (он свободен).
Так при изменении тела документа не затронется место, на которое будет «смотреть» макрос.
Post’s attachments
000_. — копия.docx 123.88 Кб, 2 скачиваний с 2018-09-10
You don’t have the permssions to download the attachments of this post.
Разделение файла PDF на несколько документов PDF
Войдите в систему веб-сервиса Acrobat по адресу https://documentcloud.adobe.com/ru/ru, указав Adobe ID и пароль или учетные данные социальной сети (Facebook или Google).
На верхней панели навигации нажмите Изменить > Разделить PDF.

- Выберите файлы из списка «Последние» или «Файлы».
- Добавьте файлы с компьютера или перетащите файлы в выделенную область.
- Также можно просто перетащить файлы в область инструмента Разделить PDF на странице Изменить.


Страницы PDF отображаются как миниатюры. Нажмите на вертикальные разделительные пунктирные линии, чтобы выбрать страницу для разделения на отдельные документы PDF, а затем нажмите Продолжить.
Примечание.
При выборе пунктирные линии становятся сплошной синей линией. Можно выбрать до двадцати разделительных линий для создания нескольких новых файлов из одного PDF.

В диалоговом окне «Сохранить» выберите, сохранить новые файлы PDF в ту же папку или в новую. Нажмите Сохранить.

Документ PDF разделен на отдельные файлы с добавлением к имени файла и загружен в учетную запись Document Cloud.

В разделе «Последние» в нижней части страницы «Главная» отображаются все файлы, которые были разделены за последнее время. Чтобы посмотреть список всех файлов, можно также нажать Документы на верхней панели меню.
Справки по другим продуктам
- Управление файлами
- Ограничения размеров файлов
- Веб-приложения и сервисы Acrobat
Как разделить страницы в ворде на отдельные файлы
Хотите поблагодарить участника за дельный совет? Нажмите [Повысить]. Так вы заслуженно поднимите репутацию активному участнику.
33 188 Сообщений в 5 442 Тем от 6 717 Пользователей
Последний пользователь: Extrafant

Excel это не сложно
Основные форумы
Вопросы по Excel и VBA
Разбивка слияния на несколько файлов
Разделение документа
Большой документ можно разделить на несколько меньших в соответствии с выбранными критериями. Можно также извлечь из PDF-файла определенные страницы. В обоих случаях исходный PDF-документ не изменяется. Единицей разделения является страница, поэтому нельзя указать точку разделения внутри страницы. Если документ разделяется по номерам страниц, указанные страницы становятся первыми страницами новых документов. Если документ разделяется по тексту или закладкам, страница, которая содержит текст или закладку, становится первой страницей нового документа.
Разделение или извлечение нельзя выполнить для одностраничного документа. Это можно сделать для текущего или для выбранного документа.
Другим критерием разделения является размер файла. Укажите максимальный размер в мегабайтах для каждого разделяемого файла.
Чтобы разделить документ, выполните указанные ниже действия.
- Выберите «Домой» > «Сервис» >Разделить. Откроется диалоговое окно Разделение документа.
- Выберите многостраничный документ, который необходимо разделить.
- Выберите один из режимов разделения и задайте необходимые параметры. Дополнительные сведения см. в разделе с описанием диалогового окна Разделение документа.
- Нажмите кнопку ОК. Откроется диалоговое окно «Обзор папок». Выберите существующую или создайте новую папку для сохранения итоговых PDF-файлов.
Те же действия необходимо выполнить для извлечения страниц в один файл в соответствии с выбранным методом.