如何为OpenOffice Writer编写移除全部索引标记的宏,以及如何在Writer中显示并编辑索引项
解决OpenOffice Writer索引相关问题的方案
我来帮你搞定这两个OpenOffice Writer的索引问题,亲测好用的方法如下:
一、编写移除所有索引标记的宏
如果你需要批量清除文档里的所有索引标记,可以用这个宏来实现,步骤很简单:
- 打开宏编辑器:点击顶部菜单栏的 Tools > Macros > Organize Macros > OpenOffice Basic
- 选择宏的保存位置:可以选当前文档(仅该文档可用),或者选「My Macros」(所有文档都能复用),然后点击 New 创建新模块
- 粘贴以下代码到编辑窗口:
Sub RemoveAllIndexMarks Dim oDoc As Object Dim oText As Object Dim oEnum As Object Dim oElement As Object oDoc = ThisComponent oText = oDoc.Text oEnum = oText.createEnumeration() Do While oEnum.hasMoreElements() oElement = oEnum.nextElement() ' 判断当前元素是否为索引标记 If oElement.supportsService("com.sun.star.text.IndexMark") Then oText.removeTextContent(oElement) End If Loop MsgBox "所有索引标记已移除!", MB_INFORMATION, "完成" End Sub
- 保存并运行:点击编辑器的保存按钮,之后选中这个
RemoveAllIndexMarks子过程,点击运行按钮,或者通过 Tools > Macros > Run Macro 找到并执行它,执行完成会弹出提示框。
这个宏会遍历文档里所有文本内容,识别并删除所有索引标记,完美替代Word里的宏功能,不用来回切换格式啦。
二、显示并手动编辑索引项
OpenOffice Writer里没有和Word的Ctrl+Shift+8完全对应的快捷键,但可以通过以下方式显示并编辑索引项:
- 显示索引标记:点击顶部菜单栏的 View > Nonprinting Characters,或者直接按快捷键
Ctrl+F10。开启后,文档里的索引标记会以类似[XE "你的术语"]的样式显示出来(不同版本显示可能略有差异),和Word里的显示效果类似。 - 编辑/删除索引项:直接双击显示出来的索引标记,会弹出「Index Entry」编辑对话框,你可以修改术语名称、调整索引层级,或者直接点击对话框里的删除按钮移除该标记。如果只是想快速删除,也可以选中标记后按
Delete键直接删掉。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

