Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / слияние в Word'е / 5 сообщений из 5, страница 1 из 1
10.12.2004, 10:10
    #32822366
idv
idv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слияние в Word'е
Всем привет!
Подскажите пожауйста, каким образом можно автоматизировать следующий процесс: у меня в ворде есть 147 страничек, которые получаются при слиянии документа, мне нужно каждую страничку сохранить в отдельном вордовском документе. Может быть есть какая-нить функция при слиянии, чтобы слияние проходило сразу в отдельные документы???
Помогите плиз!
...
Рейтинг: 0 / 0
10.12.2004, 15:26
    #32823491
Galustov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слияние в Word'е
"Слияние в новый документ"
Там всё разделяется по листам а уж листики разрезать на документы проблем нет
...
Рейтинг: 0 / 0
11.12.2004, 13:45
    #32824491
idv
idv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слияние в Word'е
Так слияние получается в новый документ, это я согласен. А каким образом из нового документа каждый лист сохранить в отдельном файле, то есть получить 147 новых документов, в каждом по одному листу???
Можно ручками конечно сохранять но 147 листов не хочется, а автоматически как то получается. У меня кстати Word 2003.
...
Рейтинг: 0 / 0
13.12.2004, 10:21
    #32825134
Galustov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слияние в 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.
56.
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

...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.02.2013, 10:21
    #38160224
Anytka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слияние в Word'е
Galustovдобрый день
вот это работает

Код: 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.
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



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


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