Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

28 Февраль 2021, 13:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Как узнать на какой странице документа находится текст?  (Прочитано 442 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Борис_С
Форумчанин
***
Offline Offline

Сообщений: 135


« Стартовое сообщение: 4 Август 2020, 18:46 »

Всем доброго дня!
Мне нужно считать текст из документа. При этом мне нужно разбить этот текст по-странично.
Считать текст несложно:
Код:
  oTCurs = ThisComponent.Text.createTextCursor()
  text = ""
  Do
     oTCurs.gotoEndOfParagraph(True)
     text = text + oTCurs.String + " " 'CHR$(10)
  Loop While oTCurs.gotoNextParagraph(False)
А вот как узнать, номер страницы считываемого текста?
Как я понимаю, номер страницы можно узнать с помощью метода getPage() для отображаемого курсора.
Я же работаю с текстовым курсором. Можно ли получить отображаемый курсор из текстового курсора?
Спасибо.
Записан
Борис_С
Форумчанин
***
Offline Offline

Сообщений: 135


« Ответ #1: 5 Август 2020, 12:40 »

Разобрался. Вот код:
Код:
  oTCurs = ThisComponent.Text.createTextCursor()
  oVCurs = ThisComponent.CurrentController.getViewCursor()
  oVCurs.jumpToFirstPage()
   
  text = ""
  Do
    Dim numPage
    numPage = oVCurs.getPage()
    oTCurs.gotoEndOfParagraph(True)
    text = text + oTCurs.String + " "
    oVCurs.goRight(Len(oTCurs.String) + 1, False)
  Loop While oTCurs.gotoNextParagraph(False)
  GetText = text
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!