当前位置: 首页 > 知识库问答 >
问题:

在Open/Libre/Neo Office中查找文本选择中段落的宏

董和风
2023-03-14

我正在尝试枚举用户在(NeoLibreOpen)Office中选择的段落。

Sub CheckForSelection
    Dim oDoc as Object
    Dim oText

    oDoc = ThisComponent
    oText = oDoc.Text

    if not IsAnythingSelected(oDoc) then
        msgbox("No text selected!")
        Exit Sub
    end if

    oSelections = oDoc.getCurrentSelection() 
    oSel = oSelections.getByIndex(0)    

    ' Info box
    'MsgBox oSel.getString(), 64, "Your Selection"

    oPE = oSel.Text.createEnumeration()
    nPars = 0
    Do While oPE.hasMoreElements()
        oPar = oPE.nextElement()
        REM The returned paragraph will be a paragraph or a text table
        If oPar.supportsService("com.sun.star.text.Paragraph") Then 
            nPars = nPars + 1
        ElseIf oPar.supportsService("com.sun.star.text.TextTable") Then 
            nTables = nTables + 1
        end if
    Loop

    ' Info box
    MsgBox "You selection has " & nPars & " paragraphs.", 64

end Sub

共有1个答案

申屠泉
2023-03-14

osel.textosel.gettext()的快捷方式,后者“返回包含文本位置的文本接口”。https://www.openoffice.org/api/docs/common/ref/com/sun/star/text/xtextrange.html#gettext

因此,要仅从选择中获取段落umeration,应该使用ope=osel.createEnumeration()而不是ope=osel.text.createEnumeration()

 类似资料:
  • 服务支持属性,该属性支持(ParagraphProperties,ParagraphAdjust中的5个值。 但没有奏效。 检查: 是的,我假设这些是常量(参见下面的注释),这是我的错。 null 注: 从4.1版本开始,它不再起作用了(正确的,不是常量)。

  • 我有一个pdf摘录文本,看起来像这样 ======================================== 标题 字幕 Lorem Ipsum只是印刷的虚拟文本 以及排版业。Lorem Ipsum已被删除 自16世纪以来业界标准的虚拟文本。 字幕 Lorem Ipsum只是打印和打印的虚拟文本 排版业。Lorem Ipsum一直是业界 自16世纪以来的标准虚拟文本。 =========

  • 只想列出电子邮件地址字段,你们能帮我查询一下吗。

  • 问题内容: 我有一个JTextArea并正在对任何文本进行选择,如果没有选择,则两个菜单项均变灰。我遇到的问题是,当我编译并打开应用程序时,我必须先单击JTextArea,然后菜单项变灰,如果不是这样,即使没有选择任何文本,菜单项也不会变灰。我正在使用以下插入符侦听器。 问题答案: 创建它们时,应该在每个菜单项上。

  • 如何在两条准则(即两个单词)之间选择文本? 示例: Lorem ipsum dolor sit amet,concetetur adipiscing elit。连续威尼斯整数。Suspendisse在pretium elit,id euismod odio。Quisque sem lorem、laoreet et feugiat eget、elementum eu felis。努克·奎斯·尼西·泰

  • 本文向大家介绍使用Java计算文本文件中的段落数,包括了使用Java计算文本文件中的段落数的使用技巧和注意事项,需要的朋友参考一下 我们可以通过读取字符串中的段落来读取文件中的段落,然后根据“ \ r \ n”模式进行分割。请参阅下面的示例- 示例 在类路径中请看以下文本文件。 test.txt 测试器 这将产生以下结果- 输出结果