powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вытащить страницу из документа Word в отдельный файл
16 сообщений из 16, страница 1 из 1
Вытащить страницу из документа Word в отдельный файл
    #34911758
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
На Вашем форуме я нашла макрос, который разделяет документ 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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
Sub each_sheet_into_new_document()
'помещает каждый лист в отдельный документ
Dim word_App As New Word.Application
Dim word_Doc As Word.Document
Dim word_Shape As Shape
Selection.HomeKey Unit:=wdStory

pages_count = ActiveDocument.Range.ComputeStatistics(wdStatisticPages)
For i =  1  To pages_count
    Set word_Doc = word_App.Documents.Add
    With word_Doc
    If i = pages_count Then
        Selection.EndKey Unit:=wdStory, Extend:=wdExtend
    Else
        Selection.ExtendMode = True
        Selection.GoToNext wdGoToPage
        Selection.MoveLeft wdCharacter,  1 , False
                
    End If
        text_for_input = Selection
        Selection.ExtendMode = False
        Selection.MoveRight wdCharacter,  2 , False
        .StoryRanges(wdMainTextStory) = text_for_input
        word_App.Visible = True

        
        If i <  10  Then
            p = "0" & i
        Else
            p = i
        End If
        
        .SaveAs "C:\Лист-" & p & ".doc"
    End With
Next i

'этот кусок кода переносит shapes в новый документ
        For Each word_Shape In ActiveDocument.Shapes
            'MsgBox ActiveDocument.Shapes.Count
            word_Shape.Select
            p = Selection.Information(wdActiveEndPageNumber)
            If p <  10  Then
                p = "0" & Selection.Information(wdActiveEndPageNumber)
            End If
            Selection.Copy
            word_App.Documents("Лист-" & p & ".doc").Activate
            word_App.Selection.Paste
        Next word_Shape
        
        For Each doc In word_App.Documents
            doc.Save
        Next doc

Set word_App = Nothing
End Sub
Модератор:
Не забываем про тег SRC — вопрос так понятней, а ответ быстрее.
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34911994
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так и проверяйте по переменной i —'это же и есть номер страницы. Можно проверять через коллекций, словарь, массив, стринг ...
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34915133
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо,уважили. Я не знаю, как это сделать, поэтому и спросила. Наверное. надо как-то реализовть предложение о выборе страниц?
И ещё, если в документе есть таблицы, то при сохранении в отдельные файлы эти таблицы теряются, т.е. остаётся только текст. А нужны как раз таблицы.
С экселем я ещё как-то разбираюсь, а вот в ворде...
М.б. поможет кто-нибудь?
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34926590
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SebastianСпасибо,уважили. Я не знаю, как это сделать, поэтому и спросила. Наверное. надо как-то реализовть предложение о выборе страниц?
М.б. поможет кто-нибудь?

Никто.
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34926968
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запись таблиц в отдельный файлы
Код: 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.
Sub each_table_into_new_document()
    'помещает каждую таблицу в отдельный документ
    Dim word_Doc As Word.Document
    Dim t As Table
    Dim p As String
    Dim i As Integer
    
    
    i =  1 
    For Each t In ThisDocument.Tables
                       
        t.Select
        Selection.Copy
        
        Set word_Doc = Application.Documents.Add(DocumentType:=wdNewBlankDocument)
        Selection.PasteAndFormat (wdPasteDefault)
        
        If i <  10  Then
            p = "0" & CStr(i)
        Else
            p = CStr(i)
        End If

        word_Doc.SaveAs "C:\Tables-" & p & ".doc"
        
        word_Doc.Close
        Set word_Doc = Nothing
        
        i = i +  1 
    Next
End Sub


или что вам надо?


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34927255
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKotзапись таблиц в отдельный файлы
Код: 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.
Sub each_table_into_new_document()
    'помещает каждую таблицу в отдельный документ
    Dim word_Doc As Word.Document
    Dim t As Table
    Dim p As String
    Dim i As Integer
    
    
    i =  1 
    For Each t In ThisDocument.Tables
                       
        t.Select
        Selection.Copy
        
        Set word_Doc = Application.Documents.Add(DocumentType:=wdNewBlankDocument)
        Selection.PasteAndFormat (wdPasteDefault)
        
        If i <  10  Then
            p = "0" & CStr(i)
        Else
            p = CStr(i)
        End If

        word_Doc.SaveAs "C:\Tables-" & p & ".doc"
        
        word_Doc.Close
        Set word_Doc = Nothing
        
        i = i +  1 
    Next
End Sub


или что вам надо?


I Have Nine Lives You Have One Only
THINK!

Большое спасибо Вам за макрос.

Мне надо, чтобы можно было выбрать отдельную страницу из большого документа и её поместить в отдельный файл. Там, наверное, InputBox должен быть, но как это сделать я не знаю.
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34930135
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо Вам за макрос.

Мне надо, чтобы можно было выбрать отдельную страницу из большого документа и её поместить в отдельный файл. Там, наверное, InputBox должен быть, но как это сделать я не знаю.
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34933838
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"или что вам надо?"

Мне надо, чтобы можно было выбрать отдельную страницу из большого документа и её поместить в отдельный файл. Там, наверное, InputBox должен быть с предложением выбора № страницы, но как это сделать я не знаю.
А кто-нибудь знает?
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34947142
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sebastian"или что вам надо?"

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

А если и знаем, то всё равно не скажем!
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34947208
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, что вы не нашли поиском. Думаю адаптировать под работу с конкретной страницей сможете сами.
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34947608
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeВот, что вы не нашли поиском. Думаю адаптировать под работу с конкретной страницей сможете сами.


1. Находила я это.
2. Если бы я смогла, я бы не стала отвлекать вас от решения более важных задач. Я ведь не прогаммист и даже не программер, я бухгалтер. С экселем я вобщем-то справляюсь, а вот Word...

Помогите, если вам это не очень сложно.
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34948031
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sebastian Там, наверное, InputBox должен быть, но как это сделать я не знаю
а Вы пробовали или просто лень?

SebastianС экселем я вобщем-то справляюсь, а вот Word
а чем Word сложнее Exel'я?


ЗЫЖ на данном форуме любят ПОМОГАТЬ , а НЕ делать за других их работу
предоставьте что Вы успели наваять, тогда и помогающих появиться больше

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34950357
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а Вы пробовали или просто лень?


ЗЫЖ на данном форуме любят ПОМОГАТЬ , а НЕ делать за других их работу
предоставьте что Вы успели наваять, тогда и помогающих появиться больше

Да, уж знаю, что любят помогать...
И ничего не лень, просто я же писала кто я есть.
Вот, я мучалась, мучалась, нашла вот такой макрос (он как-то понятнее) и прилепила к нему InputBox, он сохраняет одну страницу, ту в которой в данный момент находится курсор, а вот, чтобы он сохранял выбранную страницу (ту, что указываем в инпутбоксе) не получается, и что дальше делать я не знаю. Только не смейтесь, пожалуйста, и так стыдно.
Я уж хотела забросить всё, но, понимаете, нет покоя.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub BreakOnPage_1()

Application.ScreenUpdating = False
 Application.Browser.Target = wdBrowsePage
 s = InputBox(Prompt:="Выберите номер страницы")
ActiveDocument.Bookmarks("\page").Range.Copy
 Documents.Add
Selection.Paste
Selection.TypeBackspace
ChangeFileOpenDirectory "D:\Мои документы\Новая папка"
DocNum = DocNum +  1 
ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
ActiveDocument.Close
Application.ScreenUpdating = True
End Sub
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34953659
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, получилось!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Sub BreakOnPage_1() 

Application.ScreenUpdating = False
 Application.Browser.Target = wdBrowsePage
 
 Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=InputBox(Prompt:="Выберите номер страницы")
 Selection.Find.ClearFormatting
 
ActiveDocument.Bookmarks("\page").Range.Copy
 Documents.Add
Selection.Paste
Selection.TypeBackspace
ChangeFileOpenDirectory "D:\Мои документы\Новая папка"
DocNum = DocNum +  1 
ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
ActiveDocument.Close
Application.ScreenUpdating = True
End Sub
Ответьте, пожалуйста, всё ли здесь правильно?
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34962015
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если работает и вы проверили в различных ситуация, то да
на первый взгляд все верно


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
Вытащить страницу из документа Word в отдельный файл
    #34962588
Sebastian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKotесли работает и вы проверили в различных ситуация, то да
на первый взгляд все верно


I Have Nine Lives You Have One Only
THINK!

Уважаемый HandKot, большое спасибо за отклик.
Буду дерзать (а, может терзать) далее!

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


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