6

Я хочу, чтобы были сочетания клавиш для «Найти далее» и «Найти предыдущий» (или «Найти следующий» и «Искать предыдущий», или «Повторить поиск вперед» и «Повторить поиск назад» или как угодно, чтобы они назывались) работает все время.

Сочетания клавиш F3 и Shift+F3 работают только тогда, когда курсор находится внутри панели поиска. Сочетание клавиш Ctrl+Shift+F («Повторить поиск») работает только в одном направлении, но я часто хочу вернуться к предыдущему вхождению. Так что ни один из них не работает для меня.

Команды «поиск по предыдущему» не существует, но я надеюсь определить ее и фактический «поиск по следующему», чтобы использовать ее как макросы и связать ключ с этими макросами. Кажется выполнимым. Я попытался записать макрос вокруг вызова «Repeat Search», который устанавливает некоторые параметры и вызовы .uno:RepeatSearch , но я не знаю, как заставить его идти в определенном направлении, если это вообще возможно. Я также попытался записать макрос вокруг нажатия кнопки in на панели поиска, но это жестко закодировало строку поиска, и я не знаю, как заставить ее использовать параметры предыдущего поиска.

Как связать ключи с «Find Next» и «Find Previous», с помощью макроса или иным образом? Мне это нужно по крайней мере в LibreOffice 4.2.8.2 на Linux.

1 ответ1

1

Используйте .uno:ExecuteSearch (при условии, что именно это вам и дал записывающее устройство), но вместо жестко заданной строки поиска введите значение следующим образом:

Global SearchString
Sub doSearch
    SearchString = InputBox("Search string:", "Search", "")
    ' Put the .uno:ExecuteSearch code here.
End Sub

Затем измените жестко заданную строку поиска, чтобы использовать эту переменную:

args1(11).Name = "SearchItem.SearchString"
args1(11).Value = SearchString

Теперь для повторного поиска создайте два дополнительных макроса, по одному для каждого направления. Установите "SearchItem.Backward" на истину или ложь. Вместо другого InputBox используйте переменную SearchString, которую мы сохранили ранее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .