Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вытащить страницу из документа Word в отдельный файл / 16 сообщений из 16, страница 1 из 1
02.11.2007, 01:00:05
    #34911758
Sebastian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытащить страницу из документа Word в отдельный файл
Добрый день.
На Вашем форуме я нашла макрос, который разделяет документ 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
02.11.2007, 09:30:33
    #34911994
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытащить страницу из документа Word в отдельный файл
ну так и проверяйте по переменной i —'это же и есть номер страницы. Можно проверять через коллекций, словарь, массив, стринг ...
...
Рейтинг: 0 / 0
03.11.2007, 15:53:30
    #34915133
Sebastian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытащить страницу из документа Word в отдельный файл
Спасибо,уважили. Я не знаю, как это сделать, поэтому и спросила. Наверное. надо как-то реализовть предложение о выборе страниц?
И ещё, если в документе есть таблицы, то при сохранении в отдельные файлы эти таблицы теряются, т.е. остаётся только текст. А нужны как раз таблицы.
С экселем я ещё как-то разбираюсь, а вот в ворде...
М.б. поможет кто-нибудь?
...
Рейтинг: 0 / 0
08.11.2007, 23:09:00
    #34926590
Sebastian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытащить страницу из документа Word в отдельный файл
SebastianСпасибо,уважили. Я не знаю, как это сделать, поэтому и спросила. Наверное. надо как-то реализовть предложение о выборе страниц?
М.б. поможет кто-нибудь?

Никто.
...
Рейтинг: 0 / 0
09.11.2007, 09:39:08
    #34926968
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытащить страницу из документа 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.
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
09.11.2007, 10:54:03
    #34927255
Sebastian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытащить страницу из документа Word в отдельный файл
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
10.11.2007, 18:28:55
    #34930135
Sebastian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытащить страницу из документа Word в отдельный файл
Большое спасибо Вам за макрос.

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

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

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

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


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

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

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


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

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


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

Да, уж знаю, что любят помогать...
И ничего не лень, просто я же писала кто я есть.
Вот, я мучалась, мучалась, нашла вот такой макрос (он как-то понятнее) и прилепила к нему 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
20.11.2007, 23:47:06
    #34953659
Sebastian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытащить страницу из документа Word в отдельный файл
Вот, получилось!
Код: 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
23.11.2007, 17:09:51
    #34962015
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытащить страницу из документа Word в отдельный файл
если работает и вы проверили в различных ситуация, то да
на первый взгляд все верно


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


I Have Nine Lives You Have One Only
THINK!

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

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


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