как получить номер страницы?

Автор shadow_mmv, 20 августа 2012, 13:21

0 Пользователи и 3 гостей просматривают эту тему.

ШоррКан

ЦитироватьА число страниц в поддокументе можно получить перекрестной ссылкой на значение поля "Показать переменную страницы" в соответствующем поддокументе.


Может объяснить кто-то как это сделать?
У меня с помощью стилей в документе созданы поддокументы ( с разными колонтитулами)
Мне удалось по посту выше сделать нумерацию внутри поддокумента отдельно от сквозной.
Но не удается ввести количество страниц в поддокументе ( по сути количество страниц одного стиля )

Буду крайне благодарен за любую помощь

economist

Поддокумент - это другой раздел (другой стиль Страницы) или часть из Файл->Составной документ?

Подсчитать число страниц каждого стиля страницы можно или вручную, или макросом (и присвоить это значение Полю пользователя). Но если стили чередуются хаотично - макрос будет нетривиальным (проще вручную).

Все фокусы с нестандартной нумерацией можно сделать на уровне Разделов в Простом документе. И если документу велик (3k+ страниц) или нужна одновременная правка/коллаборация разными людьми - то нужен Составной документ. Или "россыпь" файлов, пронумерованная со смещениями в Поле Номер страницы.   
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

ШоррКан

#17
Поддокумент у меня это другой стиль страницы.
Документы обычно 100-200 листов, стилей в документе 12-15, не более.

Принес шаблон на работу и та часть, что у меня получилась дома на версии 7.6 на работе в версии 7.4 не работает.... Либо нули, либо 4х значные числа ....

economist

#18
Посмотрел файл на LO 6442, 7252, 7532, 7542 - везде все одинаково, 4х-значных чисел нет. И к-либо аномалий верстки нет, кроме рукотворных (желто-серая нумерация листа 37, разные шрифты в номерах страниц везде).

Такой набор версий у меня сложился неспроста, это официальные и почти официальные 32/64-разрядные portable-версии, которые просто распаковываются из архива и работают годами. Они не лезут в Реестр Windows и C:\Program Files \(X86), C:\Users\<user> итп. злачные места Windows, где лютует Group Policy домена и строгий UAC c антивирусами. Они (больше винить некого) иногда влекут нечто, повреждающее настройки OpenOffice|LibreOffice и приходится сбрасывать профиль, что неудобно. Portable лечит от всего этого. Он выходит в ~4 раза реже, без детских болячек X.0 и X.Y.0 версий и можно сказать чуть лучше проверен в работе к моменту релиза, чем обычный "устанавливаемый" LO. Злой админ редко работает в LO и никак не тестит устанавливаемое ПО на "вшивость". Он может установить "сырой", например, 7.4.0.0 или 7.4.2.0 и подкинет проблем. На моей практике - проще убедить админа разрешить одному опытному юзеру самому "обновлять" и тестировать LO под личную ответственность, чем добиться адекватного поведения при выходе новой версии. 

По поводу самой задачи - она идеально ложится на штатный функционал LO Writer, просто нужно расширить набор инструментов. Поверхностно идеи:

1. Все что выделено желтым - лучше превратить в серые Поля (текстовые или контролы, по ситуации), и лишь потом сделать желтыми через стили и/или вручную. В обоих видах Полей есть готовые "Списки" с удобной правкой, упорядочиванием вручную по значимости(!) и АЯ-сортировкой итп. Поля можно копировать, снабжать т.н. Полями ввода, а к значением Полей можно привязывать Переменные документа, которые можно использовать в тексте, в т.ч. для Текстовых формул, которыми легко реализовать вычисления номеров страниц в "квази-разделах" (частях) документа с любым смещением итд. Условно говоря, если в доке с номерами страниц 1, 2, 3, 4 есть упоминание что у оборудования N есть чертеж в соотв. Поле серого/желтого цвета, но самого чертежа в доке нет - легко добиться такой автонумерации тех же страниц с разрывом, как 1, 2, 4, 5. При этом перевыбор значения поля на чертеж есть/нет - изменит нумерацию сам.

2. Если при этом в тексте нужно что-то скрывать/показывать/вставлять пустой лист для DWG-чертежа форматом A0 по условию или в зав. от выбора значения из списка, то Writer может сам скрыть/показать/посчитать букву, слово, предложение, абзац, раздел, другой документ (в т.ч. из внешнего файла) автоматически. То есть один ODT-файл может давать на выходе 1-стр. док или 500-стр. док с самой вычурной нумерацией.

3. Чтобы не хардкодить в списках вручную часто меняющиеся ФИО, Подразделения, Цеха, Оборудование итп - их можно привязать к обновляемым таблицам Calc/Excel/1C, вытащив значение поля по нажатию на Ctrl+Shift+F4. При этом можно генерировать несколько страниц из одной через Рассылку в отд. ODT-файл и отображать его в основном ODT как внешний Раздел по условию или без. Привязка ODS/XLSX->ODT делается путем создания зарегистрированной Базы данных ODB (пустышки), в которой вам ничего не нужно (она просто активирует Ctrl+Shift+F4).

Одним словом, потратьте время на изучение базового функционала Writer - и получите путь к предельно возможной автоматизации заполнения документа. В строительстве есть готовые решения на базе VBA/Excel, но ваш документ сложнее в верстке и Writer оптимальнее, он поможет обойтись вообще без макросов.

Макросы могут все, смотреть в их сторону нужно если требуется логирование действий неск. пользователей, ведение журналов регистрации, подсчет метрик итп. 
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...