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

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

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

shadow_mmv

подскажите пожалуйста, как узнать номер страницы в Writer Basic.я пишу "PageNumber = Doc.createInstance("com.sun.star.text.DocumentIndexLevelFormat")"но получаю ошибку "Service not registered exception".    получается, нет такого сервиса??


Hasim

Если нужен номер страницы, на которой стоит курсор, то
pn = ThisComponent.CurrentController.getViewCursor.getPage()
   MsgBox pn


а если нужен номер страницы, на которой курсор не стоит, но которая отображается на экране (тот номер, который отображается в статусной строке слева внизу экрана, т.е "Страница 4/12"), то тут всё сложнее - придется программно читать эти данные из этой статусной строки.
(но это задачка уже для "гуру")

shadow_mmv

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


как считаете, Уважаемые, это возможно?

JohnSUN

Наверное, возможно... Но хотелось бы уточнить - зачем?
Судя по формуле, раз уж из реального номера страницы вычитается какое-то количество листов, значит какая-то часть страниц большого документа просто не будет печататься, а нумерация страниц при этом не должна сбиться?
Если так, то для таких фокусов есть более цивилизованные способы
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

shadow_mmv

#4
делаю рамочки по ГОСТ для оформления проектной документации. представляют из себя набор стилей, первый стиль - первая страница главы,за ним второй стиль - все последующие страницы. так вот у первой страницы(стиля) номер 1, у второй станицы(стиля) и далее -  номер страницы по возрастанию. при этом нужна еще и сквозная нумерация во всем документе. Глав может быть несколько и если я задаю во втором стиле, в колонтитуле смещение номера страницы, то это задает одинаковый сдвиг нумерации для всех глав, использующих второй стиль! по этому я решил в первом стиле определять переменную - сдвиг, а во втором стиле сдвигать на эту переменную

smaharbA

рамочки нужно вставлять как битмап иначе получите банан на разных версиях и офисах
Я конечно далек от мысли... (с)

shadow_mmv

да с рамочками-то разобрались - все хорошо, осталась нумерация

JohnSUN

Вы меня извините за непонятливость... Стили чего? Страниц? Они никаким образом не должны сказываться на нумерации... Вот только что набросал тестовый документ с полутора десятками страниц, вставил разрывы страниц с самыми разными изменениями стилей, для каждого стиля вставил номер страницы / количество страниц... Считает нормально...
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

shadow_mmv

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


может я не с той стороны подхожу к этой теме? впал в ступор, по этому надеюсь на помощь!

[вложение удалено Администратором]

JohnSUN

Да, боюсь, немного перемудрил со всеми этими смещениями... Потому и запутался

[вложение удалено Администратором]
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

shadow_mmv

но при этом заново начинается сквозная нумерация в правом верхнем углу!

JohnSUN

А, да! Хотел спросить - а чего это у тебя номера и вверху и внизу?  ;D
Кто из них должен быть сквозной нумерацией, а кто сбрасываться при каждой новой главе?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

shadow_mmv

сверху- сквозная, снизу - для главы

shadow_mmv

еще идея появилась - может быть можно скопировать стиль страницы(вместе с ним и колонтитулы с содержимым) в новый стиль?тогда нумерация будет сплошная, а в стиле будет задаваться смещение номеров для главы!

Zobr

Цитата: shadow_mmv от 21 августа 2012, 05:05
делаю рамочки по ГОСТ для оформления проектной документации. представляют из себя набор стилей, первый стиль - первая страница главы,за ним второй стиль - все последующие страницы. так вот у первой страницы(стиля) номер 1, у второй станицы(стиля) и далее -  номер страницы по возрастанию. при этом нужна еще и сквозная нумерация во всем документе. Глав может быть несколько и если я задаю во втором стиле, в колонтитуле смещение номера страницы, то это задает одинаковый сдвиг нумерации для всех глав, использующих второй стиль! по этому я решил в первом стиле определять переменную - сдвиг, а во втором стиле сдвигать на эту переменную

Аналогичная задача. Тоже шел по пути смещений, в итоге обошелся без них.

Нужно изменить подход. Сначала устанавливается последовательная сквозная нумерация. А задача сводится к тому, чтобы в поддокументах шла своя нумерация  с единицы.

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

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

Получаем каждый поддокумент начинается с двух полей "Выкл" и "Вкл".


Теперь в проект легко вставляется базовый элемент "Оглавление" с указанием на сквозную нумерацию.

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

[вложение удалено Администратором]