Atalhos de teclado para “Find Next” e “Find Previous” no LibreOffice

4

Eu quero ter um atalho de teclado para “Find Next” e “Find Previous” (ou “Search Next” e “Search Previous”, ou “Repeat Search Forward” e “Repeat Search Backward” ou o que você quiser chamar isso funciona o tempo todo.

Os atalhos F3 e Shift + F3 funcionam apenas quando o cursor está dentro da barra de pesquisa. O atalho Ctrl + Deslocamento + F (“Repetir pesquisa”) só funciona em uma direção, mas muitas vezes eu quero voltar para a anterior ocorrência. Então, nenhum desses trabalhos para mim.

Não há nenhum comando “search previous” , mas espero definir um, e uma "pesquisa próxima" real para acompanhar, como macros e vincular uma chave a essas macros. Parece factível. Tentei gravar uma macro em torno de uma chamada para "Repetir pesquisa", que configura alguns parâmetros e chama .uno:RepeatSearch , mas Eu não sei como fazer isso em uma direção específica, se é possível. Também tentei gravar uma macro ao pressionar o botão in na barra de pesquisa, mas codifiquei a string de pesquisa e não sei como fazer com que ela use os parâmetros da pesquisa anterior.

Como posso vincular chaves a "Find Next" e "Find Previous", seja por meio de uma macro ou de outra forma? Eu preciso disso pelo menos no LibreOffice 4.2.8.2 no Linux.

    
por Gilles 05.04.2016 / 19:49

1 resposta

1

Use .uno:ExecuteSearch (assumindo que é o que o gravador lhe deu), mas em vez de uma string de pesquisa codificada, insira o valor da seguinte forma:

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

Em seguida, altere a string de pesquisa codificada para usar essa variável:

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

Agora, para pesquisas repetidas, crie duas macros adicionais, uma para cada direção. Defina "SearchItem.Backward" como verdadeiro ou falso. Em vez de outro InputBox , use a variável SearchString que armazenamos anteriormente.

    
por 06.04.2016 / 00:12