Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Sandre:
a_axe, как подобрать, что бы автоматом считало? »
Sandre, в общем случае простого решения с полями не существует: либо у Вас сплошная нумерация, либо нумерация с единицы в каждом разделе.

Дабы не править числа в каждом разделе «ручками» каждый раз, когда меняется число страниц в разделах, можно использовать макрос такого вида:
Скрытый текст
Код: Выделить весь код
Option Explicit

Sub ReNum()
    Dim objSection As Section
    
    Dim intPageCount As Integer
    
    
    intPageCount = 0
    
    For Each objSection In ThisDocument.Sections
        With objSection
            With .Headers.Item(wdHeaderFooterPrimary)
                .LinkToPrevious = False
                
                With .Range.Fields
                    .Add Range:=.Parent, Type:=wdFieldPage, PreserveFormatting:=False
                    .Parent.InsertBefore "=" & CStr(intPageCount) & "+"
                    .Add Range:=.Parent, Type:=wdFieldEmpty, PreserveFormatting:=False
                End With
            End With
            
            intPageCount = intPageCount + .Range.Information(wdActiveEndAdjustedPageNumber)
            
            With .Footers.Item(wdHeaderFooterPrimary)
                .LinkToPrevious = False
                
                With .PageNumbers
                    .RestartNumberingAtSection = True
                    .StartingNumber = 1
                End With
                
                .Range.Fields.Add Range:=.Range, Type:=wdFieldPage, PreserveFormatting:=False
            End With
        End With
    Next
End Sub

Общий принцип следующий:
  • колонтитулы разделов отсоединены от предыдущих;
  • в нижнем колонтитуле ведётся нумерация по разделам, для чего для каждого из них нумерация страниц устанавливается в «Начинать с: 1»;
  • в верхнем колонтитуле ведётся сплошная нумерация, для чего используется вышеуказанный коллегой a_axe способ с вычисляемым полем {= …}, содержимым которого являются два слагаемых: «общая сумма страниц предыдущих разделов» и «номер страницы в текущем разделе».
Выглядит сие примерно так:
Скрытый текст

Скрытый текст


Если Вас подобное устроит, посмотрю на его адаптацию непосредственно к Вашему документу.

Цитата Sandre:
Мне нужно скопировать в отдельный файл ворда один из разделов диплома с полностью неизменным форматированием и колонтитулами. К сожалению, не получается так. Что посоветуете? »
Создать копию исходного документа, в которой удалить всё лишнее.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:51, 05-06-2015 | #6