LibreOffice 宏 - 访问脚注文本

LibreOffice 宏 - 访问脚注文本

我在 LibreOffice Writer 中有一个宏,可以更改光标所在单词的大小写。它工作得很好,但当光标位于脚注中时,它会出错。部分代码:

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

错误发生在倒数第二行,即定义 oTC 的地方。显然,该行中的 .Text 规范不包含脚注,这也是我在阅读 Andrew 的 OOME 一书时了解到的。但我还没能弄清楚如何概括宏,以便它既能在主文档中工作,又能在脚注中工作。任何帮助都将不胜感激。

答案1

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

编辑

它是如何工作的?它从 获取文本对象oVC。在您的情况下,这与 给出的不同ThisComponent,因为视图光标位于脚注区域而不是正文中。

单元格还具有自己的与主体不同的文本对象。 oVC.getText()当位于单元格中时也可以工作。

属性ThisComponent.Text和方法ThisComponent.getText()做同样的事情。

相关内容