Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как сохранить многостраничный Word в отдельные файлы (по одной странице)? / 15 сообщений из 15, страница 1 из 1
26.07.2007, 23:06
    #34687512
NF
NF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
Есть многостраничный файл Ворд (140стр). Все что надо - это сделать 140 файлов, в каждом из которых должна быть одна страница из начального документа.
Есть ли готовое решение?
...
Рейтинг: 0 / 0
26.07.2007, 23:35
    #34687534
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
Готового вроде нет. Но можно взять и написать (сложного ничего нет - работы на полчаса). Хотя мб Ivan33 вам чем поможет.
...
Рейтинг: 0 / 0
27.07.2007, 14:51
    #34689302
Asvad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
Готовые решения тож не очень то помогают - потому что если в конце страницы идет перенос слова, то не получается разорвать его, или например даж если нет переноса, а выравнивание абзаца По ширине, нижний абзац приходится разбивать и последняя строка по идее должна быть выравнена к правому краю, но там появляется пробел
Видимо вам нужно что б текст не "гулял" в документе - что часто наблюдается при смене принтеров, или переносе файла на другой комп - то для этого есть решение - создать PDF-файл
...
Рейтинг: 0 / 0
27.07.2007, 14:57
    #34689327
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
...
Рейтинг: 0 / 0
27.07.2007, 15:35
    #34689498
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
готовое решение посмотри, может есть возможность в триале сделать твою задачу
...
Рейтинг: 0 / 0
27.07.2007, 15:40
    #34689524
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
отсюда код макроса

автор'-------------Begin-----------------
Sub doc_splitter()
' Copyright by W. Polmann
' Use at your own risk

origdoc = ActiveDocument.Name

Dim Mldg, Titel, Voreinstellung, Batches
Mldg = "Number of batches?"
Titel = "Freeware by www.ecm-e.de, W. Polmann."
Voreinstellung = "1" ' Voreinstellung festlegen.
' Meldung, Titel und Standardwert anzeigen.
Batches = InputBox(Mldg, Titel, Voreinstellung)

Prozentsprung = 100 / Batches

For x = 1 To Batches


ActiveDocument.SaveAs FileName:="Teil_" & x & "_" & origdoc & ".doc", _
FileFormat:=wdFormatDocument, LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
:=False, SaveAsAOCELetter:=False


EndeProzentsprung = Prozentsprung * x
AnfangProzentsprung = EndeProzentsprung - Prozentsprung


Selection.GoTo What:=wdGoToPercent, Which:=wdGoToNext, Count:=AnfangProzentsprung, Name:=""
Anfang = Selection.Start

Selection.GoTo What:=wdGoToPercent, Which:=wdGoToNext, Count:=EndeProzentsprung, Name:=""
' Bis zur nächsten Absatzmarke hoch


Selection.Find.ClearFormatting
With Selection.Find
.text = "^p"
.Replacement.text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=1
Ende = Selection.End


Set Range = ActiveDocument.Range(Anfang, Ende)


Range.Select
Selection.Copy


Selection.WholeStory
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Paste
ActiveDocument.Save
ActiveDocument.Close

Documents.Open FileName:=origdoc, _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto

Next x

ActiveDocument.Close

End Sub
'---------End---------------
...
Рейтинг: 0 / 0
27.07.2007, 15:44
    #34689539
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
...
Рейтинг: 0 / 0
27.07.2007, 17:41
    #34690011
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
вот моё творение
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Public Sub FuckingWordPages()
Dim LineCount As Long, i As Long
Dim StartLine As Long, EndLine As Long, CurrentPageNum As Long

Selection.HomeKey unit:=wdStory
LineCount = ThisDocument.BuiltInDocumentProperties("Number of Lines")

StartLine =  1 : CurrentPageNum =  1 
For i =  1  To LineCount
    
    Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=i
    If Selection.Information(wdActiveEndPageNumber) <> CurrentPageNum Then
        ' нашли начало страницы
        EndLine = i -  1  ' на одну строку назад
        ' переход в начало страницы
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=StartLine
        ' выделяем
        Selection.MoveDown unit:=wdLine, Count:=EndLine - StartLine +  1 , Extend:=wdExtend
        Selection.Copy
              
        Documents.Add DocumentType:=wdNewBlankDocument
        Selection.PasteAndFormat (wdPasteDefault)
        ThisDocument.Activate
        StartLine = i
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=i
        
        CurrentPageNum = Selection.Information(wdActiveEndPageNumber)
    End If
Next i
    EndLine = LineCount
        ' переход в начало страницы
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=StartLine
        ' выделяем
        Selection.MoveDown unit:=wdLine, Count:=EndLine - StartLine +  1 , Extend:=wdExtend
        Selection.Copy
              
        Documents.Add DocumentType:=wdNewBlankDocument
        Selection.PasteAndFormat (wdPasteDefault)

        ThisDocument.Activate
    

End Sub
...
Рейтинг: 0 / 0
27.07.2007, 21:42
    #34690356
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
NF наверное в шоке
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.07.2009, 13:44
    #36100754
mr_ZM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
Подскажите, как можно сохранить каждую страницу word в отдельный файл word именем одного из значений в таблице.
исходный документ получился в результате слияния из excel файлика, т.е. все страницы однотипные. Общее число страниц порядка 500.
...
Рейтинг: 0 / 0
22.07.2009, 00:10
    #36101939
mr_ZM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
ответ подсказали на ixbt, Nosorog.
Шаблон представляет обычный вордовский документ, места для вставки - названия столбцов в Экселе, обрамленные каким-либо символом: #номер строки#, #наименование# и т.д.
Макрос в Экселе запускает Ворд, открывает этот документ, делает поиск-замену по этим "меткам", сохраняет файл с нужным именем.

Sub mr_ZM()
Dim wrd As Object, doc As Object, x As Range, y As Range
Set wrd = CreateObject("word.application")
'wrd.Visible = True
For Each x In Range(Range("A2"), Range("A1").End(xlDown))
Set doc = wrd.Documents.Open(Filename:="c:\temp\mr_ZM шаблон1.doc", ConfirmConversions:= _
False, ReadOnly:=True)
For Each y In Range(x, x.End(xlToRight))
With doc.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "#" & y.End(xlUp) & "#"
.Replacement.Text = y
.Forward = True
.Wrap = 1 'wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.Execute Replace:=2 'wdReplaceAll
End With
Next
doc.SaveAs "C:\temp\output\" & x & "_" & x.Offset(0, 1)
doc.Close 0
Next
wrd.Quit

End Sub
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
05.11.2012, 20:00
    #38025913
КИла
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
Подскажите плз к этой темке есть макрос

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Sub BreakOnPage()
   ' Used to set criteria for moving through the document by page.
   Application.Browser.Target = wdBrowsePage

   For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")
      
      'Select and copy the text to the clipboard
      ActiveDocument.Bookmarks("\page").Range.Copy

      ' Open new document to paste the content of the clipboard into.
      Documents.Add
      Selection.Paste

      ' Removes the break that is copied at the end of the page, if any.
      Selection.TypeBackspace
      ChangeFileOpenDirectory "C:\"
      DocNum = DocNum + 1
      ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
      ActiveDocument.Close

      ' Move the selection to the next page  in the document
      Application.Browser.Next
   Next i
   ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub



работает как надо но не копирует колонтитулы.. Что можно дописать?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
10.05.2015, 02:21
    #38955332
lenaterzyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
добрый день! объясните пожалуйста человеческим языком, как сохранить все страницы документа отдельными файлами(документами). каждая страница через разрыв. вот файл если я я не правильно что-то объяснила.
...
Рейтинг: 0 / 0
10.05.2015, 08:05
    #38955350
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
lenaterzyan,

предыдущий пост смотрел(а)?
...
Рейтинг: 0 / 0
12.05.2015, 16:14
    #38956685
lenaterzyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить многостраничный Word в отдельные файлы (по одной странице)?
big-duke,

[b][b]как можно в этом макросе [/b][/b]
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Public Sub FuckingWordPages()
Dim LineCount As Long, i As Long
Dim StartLine As Long, EndLine As Long, CurrentPageNum As Long

Selection.HomeKey unit:=wdStory
LineCount = ThisDocument.BuiltInDocumentProperties("Number of Lines")

StartLine = 1: CurrentPageNum = 1
For i = 1 To LineCount
    
    Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=i
    If Selection.Information(wdActiveEndPageNumber) <> CurrentPageNum Then
        ' нашли начало страницы
        EndLine = i - 1 ' на одну строку назад
        ' переход в начало страницы
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=StartLine
        ' выделяем
        Selection.MoveDown unit:=wdLine, Count:=EndLine - StartLine + 1, Extend:=wdExtend
        Selection.Copy
              
        Documents.Add DocumentType:=wdNewBlankDocument
        Selection.PasteAndFormat (wdPasteDefault)
        ThisDocument.Activate
        StartLine = i
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=i
        
        CurrentPageNum = Selection.Information(wdActiveEndPageNumber)
    End If
Next i
    EndLine = LineCount
        ' переход в начало страницы
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=StartLine
        ' выделяем
        Selection.MoveDown unit:=wdLine, Count:=EndLine - StartLine + 1, Extend:=wdExtend
        Selection.Copy
              
        Documents.Add DocumentType:=wdNewBlankDocument
        Selection.PasteAndFormat (wdPasteDefault)

        ThisDocument.Activate
    

End Sub


Модератор: Учимся использовать тэги оформления кода - FAQ


[b][b]добавить такую функцию, которая сохраняла бы все файлы в тхт? [/b][/b]
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как сохранить многостраничный Word в отдельные файлы (по одной странице)? / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]