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

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

22 Январь 2017, 21:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Сообщений: 114


« Стартовое сообщение: 7 Декабрь 2016, 10:03 »

Собсно вопрос в теме. Как программно прокрутить лист на первую строку.
Т.е. если сохранили файл в момент когда курсор был на 357(например) строке.
А вот при открытии файла нужно чтоб была первая строка видна
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

Пол: Мужской
Расположение: Киев
Сообщений: 2 167


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 7 Декабрь 2016, 10:54 »

Обычно как-то так
Код:
Sub gotoCell(Optional cellAddr As String)
If IsMissing(cellAddr) Then cellAddr = "A1"
With ThisComponent.getCurrentController()
.select(.getActiveSheet().getCellRangeByName(cellAddr))
.Select(ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges"))
End With
End Sub
Но, насколько я научился понимать подтекст твоих вопросов, тебе нужен Вид-Фиксировать ячейки
« Последнее редактирование: 7 Декабрь 2016, 11:03 от JohnSUN » Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 1 921


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #2: 7 Декабрь 2016, 11:06 »

На текущем листе:
Код:
Sub Main
ThisComponent.CurrentController.FirstVisibleRow=0   'или если нужно FirstVisibleColumn
End Sub
Записан

Alex16
Постоялец
***
Offline Offline

Сообщений: 114


« Ответ #3: 7 Декабрь 2016, 13:56 »

ThisComponent.CurrentController.FirstVisibleRow=0
Спасибо - это снова то, что доктор прописал)
Но, насколько я научился понимать подтекст твоих вопросов, тебе нужен Вид-Фиксировать ячейки
Не, не это. Хотя лично мне - это было бы удобно. Но те, для кого это делаю, у них мониторы "широкие но узкие" (19' широкоформатные). Поэтому если закрепить область сверху, то для работы остается полоска - неудобно.
Но процедурку возьму на вооружение.
Записан
economist
Старожил
****
Offline Offline

Сообщений: 341


« Ответ #4: 7 Декабрь 2016, 16:46 »

Если вспомнить, что очень лаконичный VBA, то можно и так:
Код:
Option VBASupport 1

Sub GotoA1()
[A1].Activate
End sub

« Последнее редактирование: 7 Декабрь 2016, 16:48 от economist » Записан

Пить не буду коньяку' - читану Питоньяку'...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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