Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Разная нумерация старниц в одном документе (http://forum.oszone.net/showthread.php?t=300792)

Sandre 05-06-2015 14:34 2515270

Разная нумерация старниц в одном документе
 
Всем привет! Помогите, пожалуйста, с разной нумерацией страниц. В рамке есть два окошка под нумера:сверху справа и снизу справа. вверху - номер с самого начала работы, а вот внизу - определённого раздела( Исследовательская часть - новый раздел). То есть на странице 85 в верхнем окошке должно быть написано 85, а в нижнем - 1, на следующей странице - 86 и 2 и т.д.

a_axe 05-06-2015 16:17 2515294

Самый незатейливый вариант - заходите в колонтитулы, жмете alt-f9 (при этом значения ваших номеров страниц будет отображаться в виде кодов - приблизительно "{PAGE \*MERGEFORMAT}".
Ставите курсор в то место, где должен быть ваш номер с особенной нумерацией, жмете сочетание ctrl+f9, получаете пару скобок {}. Жмете это сочетание два раза чтобы было {{}}.
Затем добиваете в эти готовые скобки {={page}+10}. Жмете alt-f9, чтобы отобразились значения вместо кодов.

В этом поле нумерация должна выдавать на 10 большие по значению, чем номер страницы. Прибавьте или отнимите нужную вам цифру (как я понимаю - {={page}-85})
Соответственно, возможно - в документ будет необходимо вставить разрывы разделов, чтобы колонтитулы были разные.
Аналогичный вариант
в произвольном месте документа пишем поле {set Delta{={FILLIN "Введите номер первой страницы"}}}
Номер получаем с помощью поля {=Delta+{page}-1} в колонтитуле (формула вбивается исходя из логики, что вы хотите получить - page нумерация страницы, Delta - разница которую вы закладываете).
Соответственно, если поставить курсор на первое поле и нажать F9, отобразится окно, в которое можно вбить значение для Delta, что будет удобнее, чем ковыряться в маленьком квадратике углового штампа, меняя число.

Sandre 05-06-2015 17:50 2515320

Удалось сделать первым способом, спасибо, а вот вторым не получается(.

ПРи нажати Ф9 ничего не просиходит

Кстати, минус один же не нужно писать

По идее

a_axe, вы владеете программой mathtype?

a_axe 05-06-2015 18:15 2515331

Цитата:

Цитата Sandre
ПРи нажати Ф9 ничего не просиходит »

Ага, в моем посте опечатка в первом поле - закрывать строчку должны три фигурных скобочки: {set Delta{={FILLIN "Введите номер первой страницы"}}} , скобочки нужно ставить используя ctrl+f9.
Соответственно, если установить курсор внутри этой строчки и нажать f9, должно выскочить окошко, куда можно забить значение для Delta. Удобство спорное. По хорошему, поля можно подобрать так, что будет считать и автоматом.

Цитата:

Цитата Sandre
Кстати, минус один же не нужно писать »

Зависит от того результата, который Вы хотите получить. (Обычно под Delta понимают сам номер, с которого должна начинаться нумерация, тогда -1 нужен. Все же от задачи зависит)
Цитата:

Цитата Sandre
a_axe, вы владеете программой mathtype? »

К сожалению не владею, даже никогда не видел.

Sandre 05-06-2015 21:43 2515371

a_axe, спасибо, разобрался). Есть ещё вопрос. Мне нужно скопировать в отдельный файл ворда один из разделов диплома с полностью неизменным форматированием и колонтитулами. К сожалению, не получается так. Что посоветуете? П.С. стили экспортировал - не дало результата

a_axe, как подобрать, что бы автоматом считало?

Iska 05-06-2015 23:51 2515392

Цитата:

Цитата 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
Мне нужно скопировать в отдельный файл ворда один из разделов диплома с полностью неизменным форматированием и колонтитулами. К сожалению, не получается так. Что посоветуете? »

Создать копию исходного документа, в которой удалить всё лишнее.

a_axe 06-06-2015 12:48 2515482

Цитата:

Цитата Iska
в общем случае простого решения с полями не существует »

ну как... вроде же работает рабоче-крестьянский вариант, только обновлять нужно вручную через F9, неудобно. По-сути аналогично вашему макросу, только через поля, и нумерация сквозная, а отнимаем мы от сквозной нумерации на каждой странице дельту, значение которой присваивается через поле в последней строчке раздела 1:

1. вставляем в книгу новый раздел, убираем в разделе 2 опцию "как в предыдущем" (чтобы колонтитулы для Раздела 1 и Раздела 2 были разными)
2. последней строчкой Раздела 1 (не в колонтитуле, а именно в основном тексте) пишем поле {set Delta{={page}}}
3. В колонтитуле Раздела 1 сверху пишем поле {page}
4. В колонтитуле Раздела 2 сверху также пишем поле {page}, в нижнем колонтитуле пишем {={page}-delta}
Результатом будет книга с непрерывной нумерацией сверху листа, и с нумерацией Раздела 2 снизу листа с отсчетом начиная с единицы.

Безусловным неудобством такого метода будет то, что поле {set Delta{={page}}} должно всегда находится на последней странице Раздела 1.

Обновлять каждый раз через F9 неудобно, можно использовать такой макрос:
Цитата:

Sub Field_update()

ActiveDocument.Fields.Update

End Sub

Iska 06-06-2015 15:19 2515508

a_axe, я понимаю. А в третьем, четвёртом и так далее разделах — что пишем?

По сути же, выбор того или иного варианта основной нумерации будет зависеть от того, на какую именно нумерацию (сплошную или раздельную) ссылается в тексте документа коллега Sandre. Условно говоря, если стоит ссылка вида «см. рис. 5.1 "Очень красивый рисунок" на стр.18», то какую нумерацию должна будет использовать данная ссылка — ту и придётся выбрать в качестве основной, дабы эти кросс-ссылки работали.

Цитата:

Цитата a_axe
Обновлять каждый раз через F9 неудобно, »

Достаточно однократно задать в параметрах обновление полей при печати и затем пользовать предварительный просмотр.

a_axe 06-06-2015 16:14 2515521

Цитата:

Цитата Iska
А в третьем, четвёртом и так далее разделах — что пишем? »

Свои переменные Delta1, Delta2, Delta3, я полагаю.
Цитата:

Цитата Iska
ту и придётся выбрать в качестве основной, дабы эти кросс-ссылки работали. »

Как я понимаю - через поля кросс-ссылки не реализовать?
Цитата:

Цитата Iska
Достаточно однократно задать в параметрах обновление полей при печати и затем пользовать предварительный просмотр. »

Спасибо, возьму на заметку ;).

Iska 06-06-2015 16:45 2515530

Цитата:

Цитата a_axe
Свои переменные Delta1, Delta2, Delta3, я полагаю. »

a_axe, спасибо, теперь полностью ясно.

Цитата:

Цитата a_axe
Как я понимаю - через поля кросс-ссылки не реализовать? »

Ох, возни будет чересчур. Они ведь и так сами по себе полями организованы.

Sandre 06-06-2015 21:33 2515573

Iska, адаптировался, мягко говоря, не очень:пропали рамки во всех документах формалата ворд

Ещё пропали картинки в дипломе...

Sandre 06-06-2015 22:28 2515584

В режиме чтения видны, между прочим

Iska 06-06-2015 22:48 2515590

Цитата:

Цитата Sandre
Iska, адаптировался, мягко говоря, не очень: »

Sandre, так не было ещё никакой адаптации, я только спрашивал:
Цитата:

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

Так что — пробуем адаптировать? Ответьте тогда: у Вас какая нумерация в дипломе является основной — сквозная или по-раздельная?

Цитата:

Цитата Sandre
пропали рамки во всех документах формалата ворд »

Во всех — такого быть не может: там явно сказано — «ThisDocument».

Цитата:

Цитата Sandre
Ещё пропали картинки в дипломе... »

Проверьте, что не установлен параметр Word'а «Пустые рамки рисунков».

Sandre 06-06-2015 23:11 2515598

Iska, не установлен параметр \\ Тем не менее, нигде не отражаются рамки.

Iska, я был бы Вам благодарен, если бы Вы отредактировали макрос под мой диплом. Правда, рамки есть не на всех страницах. Поэтому применение макроса должно приходиться на определённые разделы. \\ Что означает:"нумерация сквозная или отдельная"?

a_axe, у меня была идея сделать вариант с Ф9 таким образом: в конце диплома вставить пустую страницу и туда прописать delta для каждого раздела. Но как это реализовать...

a_axe 07-06-2015 09:46 2515643

Цитата:

Цитата Sandre
у меня была идея сделать вариант с Ф9 таким образом: в конце диплома вставить пустую страницу и туда прописать delta для каждого раздела. »

Ну тут скорее в колонтитуле первого раздела следует прописать
{set Delta2{={sectionpages}}} (по-хорошему - сделайте первый колонтитул раздела "особым", и вбейте это поле в него. Требование это не обязательное, если значение Delta2 будет присваиваться в каждом колонтитуле Раздела 1, работать будет).
В колонтитуле Раздела 2 используете поле {={page}-Delta2}, и в этом же разделе прописываете значение для Delta3 для следующего Раздела 3 ({set Delta3{={sectionpages}}}), в Разделе3 используете поле {={page}-Delta3} и задаете {set Delta4{={sectionpages}}}и так далее для всех разделов.
Цитата:

Что означает:"нумерация сквозная или отдельная"
У вас в дипломе две нумерации: одна идет по порядку через все страницы документы, "насквозь" через все страницы документа, очевидно что она сквозная. Вторая - начинается заново для каждого раздела, отдельно от нумерации других разделов, очевидно, что она отдельная. Соответственно, вы должны определиться, какая из них "главнее".

Sandre 07-06-2015 11:31 2515666

Цитата:

Цитата a_axe (Сообщение 2515643)
Цитата:

Цитата Sandre
у меня была идея сделать вариант с Ф9 таким образом: в конце диплома вставить пустую страницу и туда прописать delta для каждого раздела. »

Ну тут скорее в колонтитуле первого раздела следует прописать
{set Delta2{={sectionpages}}} (по-хорошему - сделайте первый колонтитул раздела "особым", и вбейте это поле в него. Требование это не обязательное, если значение Delta2 будет присваиваться в каждом колонтитуле Раздела 1, работать будет).
В колонтитуле Раздела 2 используете поле {={page}-Delta2}, и в этом же разделе прописываете значение для Delta3 для следующего Раздела 3 ({set Delta3{={sectionpages}}}), в Разделе3 используете поле {={page}-Delta3} и задаете {set Delta4{={sectionpages}}}и так далее для всех разделов.
Цитата:

Что означает:"нумерация сквозная или отдельная"
У вас в дипломе две нумерации: одна идет по порядку через все страницы документы, "насквозь" через все страницы документа, очевидно что она сквозная. Вторая - начинается заново для каждого раздела, отдельно от нумерации других разделов, очевидно, что она отдельная. Соответственно, вы должны определиться, какая из них "главнее".

Как быть с рамками? Они пропали

Iska 07-06-2015 12:13 2515684

Цитата:

Цитата Sandre
Iska, не установлен параметр \\ Тем не менее, нигде не отражаются рамки. »

Ну, тогда не знаю :).

Цитата:

Цитата Sandre
Iska, я был бы Вам благодарен, если бы Вы отредактировали макрос под мой диплом. »

Я попробую.

Цитата:

Цитата Sandre
Правда, рамки есть не на всех страницах. »

На каких страницах рамок нет? Есть какой-то общий принцип?

Цитата:

Цитата Sandre
Поэтому применение макроса должно приходиться на определённые разделы. »

На какие именно разделы? Мне надо точно представлять обстоятельства применения макроса, дабы он отрабатывал корректно.

Цитата:

Цитата Sandre
Что означает:"нумерация сквозная или отдельная"? »

Коллега a_axe дал выше точное разъяснение.

Цитата:

Цитата Sandre
Как быть с рамками? Они пропали »

Вы документ уже успели сохранить с этими пропавшими рамками?

Sandre 07-06-2015 12:39 2515691

Нет, не сохранял. Рамки пропали абсолютно во всех документах. Хочу заметить, что в режиме чтения они пояаляются

a_axe 07-06-2015 12:42 2515693

Цитата:

Цитата Sandre
Рамки пропали абсолютно во всех документах. »

Sandre, целиком пропали? И вертикальные линии (по длинной стороне листа) тоже? Или только штампы?
Я имею в виду - это не самый простой вариант, что редактируя колонтитул вы щелкнули мышкой между листиками и перешли в "компактный режим", когда не отображаются колонтитулы и расстояние между листами? У вас действительно не отображаются рамки (колонтитулы), верно?

Sandre 07-06-2015 13:19 2515699

a_axe, прикрепил скрин. Теперь так во всех документах

Sandre 07-06-2015 13:21 2515701

Заработало)). "Поставил галочку в пункте Показывать рисунки и надписи"

Sandre 07-06-2015 13:29 2515702

Подскажите, как регулировать расстояние от текста до цифр?

Sandre 07-06-2015 13:29 2515703

Картинка

Iska 07-06-2015 13:52 2515706

Цитата:

Цитата Sandre
Подскажите, как регулировать расстояние от текста до цифр? »

Надеюсь, в Вашей версии будет аналогично:
Скрытый текст

Sandre 07-06-2015 15:49 2515727

Цитата:

Цитата a_axe
Ну тут скорее в колонтитуле первого раздела следует прописать
{set Delta2{={sectionpages}}} (по-хорошему - сделайте первый колонтитул раздела "особым", и вбейте это поле в него. Требование это не обязательное, если значение Delta2 будет присваиваться в каждом колонтитуле Раздела 1, работать будет).
В колонтитуле Раздела 2 используете поле {={page}-Delta2}, и в этом же разделе прописываете значение для Delta3 для следующего Раздела 3 ({set Delta3{={sectionpages}}}), в Разделе3 используете поле {={page}-Delta3} и задаете {set Delta4{={sectionpages}}}и так далее для всех разделов.
Цитата: »

Не очень понял, как это работает. Решил, что буду делать через Ф9 для каждого раздела. Всем спасибо!

Iska 07-06-2015 16:08 2515733

Sandre, значит, на мои вопросы Вы не ответите, и мне уже не пробовать, так?

Sandre 07-06-2015 16:24 2515741

Iska, да. Пока что ещё не всё ясно с оформлением документа, поэтому способ, предложенный Вашим коллегой, оптимален для меня. Спасибо ещё раз!

Iska 07-06-2015 16:47 2515744

Sandre, спасибо, ясно.

Sandre 07-06-2015 23:24 2515816

Iska, а вы с программой mathtype имеете опыт работы?

Iska 07-06-2015 23:48 2515820

Sandre, нет, не имею. Мне хватало той его облегчённой версии, которая была лицензирована Microsoft в комплекте Microsoft Office под именем Microsoft Equation.

Sandre 09-06-2015 15:48 2516573

Столкнулся с такой проблемой: мне нужно сделать оглавление одного из разделов диплома. А оглавление ставит номера сквозные(. Как быть?

Iska 09-06-2015 17:00 2516606

Цитата:

Цитата Sandre
А оглавление ставит номера сквозные(. »

А как должно быть?

Sandre 09-06-2015 17:21 2516616

Должны ставиться номера данного раздела, а не с начала диплома

Sandre 09-06-2015 17:24 2516617

Скрин

Iska 09-06-2015 18:14 2516635

Sandre, как я понимаю, у Вас есть ещё одно «общее» оглавление, так? В котором сейчас такая же сквозная нумерация, которая в «общем» оглавлении Вас устраивает, так?

Sandre 09-06-2015 18:25 2516640

Iska, да.

Iska 09-06-2015 23:37 2516793

Sandre, в этом случае я не представляю себе, как в одном и том же документе получить ссылки на отдельную, не основную, нумерацию страниц в отдельном оглавлении.

Максимум, что могу предложить — создать отдельный документ с полным содержимым искомого раздела, создать в нём оглавление, пометить его закладкой, в основной документ вставить связь на содержимое этой закладки отдельного документа.

Если же основной документ в электронном виде Вам представлять не надо, то просто не печатаете страницы оглавления этого раздела из основного документа, а распечатаете их, вынеся раздел в отдельный документ.

okshef 10-06-2015 01:00 2516818

Цитата:

Цитата Iska
я не представляю себе »

ручками... Создавать закладки и гиперссылки

Iska 10-06-2015 01:41 2516822

okshef, ну, разве что так — совсем уж «ручками» к каждому заголовку раздела делать скрытое вычисляемое поле по описанному выше коллегой a_axe методу «Номер текущей страницы» — «Дельта-Сумма предыдущих страниц» и «ручками» же рисовать это оглавление:
Цитата:

Цитата okshef
Создавать закладки и гиперссылки »


okshef 10-06-2015 01:46 2516824

Ну это уже мазохизм. Я представляю эту задачу проще: расставить закладки, написать нужные цифры в оглавлении и сделать их гиперссылками на проставленные закладки

Iska 10-06-2015 05:39 2516839

Цитата:

Цитата okshef
расставить закладки »

Где?

Цитата:

Цитата okshef
написать нужные цифры в оглавлении »

А как же тогда эти номера страниц будут меняться при изменении размеров текста?

Цитата:

Цитата okshef
и сделать их гиперссылками на проставленные закладки »

А… Вон Вы про что. Я думаю, ссылки в оглавлении тут не самое главное. Впрочем, задачу одновременной сквозной и отдельной нумерации, вкупе с одновременными полноценными, также раздельными, оглавлениями сквозной и отдельной нумерации, на мой взгляд, по-человечески не решить.

Sandre 10-06-2015 14:05 2517010

Придётся вручную. Такое невозможно только в 2007 ворде?


Время: 21:33.

Время: 21:33.
© OSzone.net 2001-