В Writer я хотел бы найти текст и при обнаружении позиции в верхней части окна просмотра/окна.Открыть/Libre Office макрос для прокрутки в соответствии с выбором
Используя следующий код,
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.SearchString"
args1(0).Value = ":"
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
изменяется вид и показывает выбор, но это не в любом определенном месте. Я хочу, чтобы это было в верхней части окна/вида.
Я также нашел в другом месте использование ThisComponent.currentController.getViewData()
и restoreViewData()
. Поэтому я экспериментировал и определял, как изменить возвращаемые данные, чтобы получить вертикальный свиток, но ничего не происходит. Например ...
vd = ThisComponent.currentController.getViewData()
vdParts = Split(vd, ";")
vdParts(6) = CLng(vdParts(6)) + 1000
vd = join(vdParts, ";")
ThisComponent.currentController.restoreViewData(vd)
Любые предложения?
PS: Я бегу версии 5.0.5.2 на Windows 7 x64
Thx Jim. Я попробовал курсор, но в моих экспериментах курсор обзора не изменил вид, чтобы отобразить выделение. Затем я вспомнил примеры диспетчера и подумал попробовать, и я был приятно удивлен, что это произошло. – Vic
После публикации предыдущего комментария и просмотра вашего предложения Джима, сделанного другими, я понял, что представление не обновляется, когда макрос запускается из редактора. Мне пришлось назначить ярлык клавиатуры и запустить макрос таким образом, чтобы он мог изменить вид ... ошибка дизайна? – Vic
Я обычно не запускаю макросы из редактора, потому что это делает редактор текущим компонентом (который может быть полезным, но не тем, что мы хотим в этом случае). Вместо этого я обычно перехожу в «Инструменты -> Макросы -> Запустить макрос» с помощью сочетаний клавиш. Чтобы можно было запустить из редактора вместо использования этого компонента, используйте компонент текстового документа, начиная с [desktop.getComponents()] (https://www.openoffice.org/api/docs/common/ref /com/sun/star/frame/XDesktop.html#getComponents). –