LibreOffice Macro - acessar o texto da nota de rodapé

1

Eu tenho uma macro no LibreOffice Writer que muda o caso da palavra em que o cursor está. Ele funciona muito bem, exceto quando o cursor está em uma nota de rodapé, onde falha. O código parcial:

Document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") 

oVC = ThisComponent.CurrentController.getViewCursor
oTC = ThisComponent.Text.createTextCursorByRange(oVC) ' <-the footnote error
ctext = oTC.string ' get selected text

A linha seguinte à última, definindo oTC, é onde o erro ocorre. Aparentemente, a especificação .Text nessa linha não inclui notas de rodapé, que é o que eu também recolho lendo o livro OOME de Andrew. Mas não consegui descobrir como generalizar a macro para que funcione no documento principal e nas notas de rodapé. Qualquer ajuda seria apreciada.

    
por Paul B. 28.01.2018 / 16:34

1 resposta

2
oTC = oVC.getText().createTextCursorByRange(oVC)

EDITAR :

Como isso funciona? Obtém o objeto Text de oVC . No seu caso, isso é diferente do dado por ThisComponent , porque o cursor de visualização está localizado na área da nota de rodapé em vez do corpo principal.

As células também têm seus próprios objetos de texto que são distintos do corpo principal. oVC.getText() funciona quando localizado nas células também.

A propriedade ThisComponent.Text e o método ThisComponent.getText() fazem a mesma coisa.

    
por 29.01.2018 / 14:38