Parece que você já tem uma solução de trabalho, então deixe-me simplesmente dizer que o que você está procurando parece não existir. Com com.sun.star.util.TextSearch
, o XrayTool mostra que nem o objeto de busca nem o resultado encontrado possuem quaisquer métodos que executem a substituição.
AFAICT, SearchOptions.replaceString é usado apenas para substituir documentos, por exemplo %código%. Há oDoc.replaceAll(oReplace)
, mas isso é usado somente para PathSubstitution .
Então, a única maneira é fazer a substituição por si mesmo. A seção 19.2 do documento macro do Andrew dá uma função para substituir as strings pelo índice.
Pessoalmente, eu me deparo com esse tipo de limitação o tempo todo com o Basic, então prefiro escrever macros no Python-UNO. A manipulação de arquivos é outra coisa que é desnecessariamente difícil no Basic. Pode ser uma boa ideia adicionar sua própria resposta mostrando a solução que usa XStringSubstitution
no caso de outras pessoas encontrarem essa pergunta. Então provavelmente aceite essa resposta em vez da minha.