如何使用VBA在WORD中突出显示的文本前后插入字符

如何使用VBA在WORD中突出显示的文本前后插入字符,vba,ms-word,highlight,Vba,Ms Word,Highlight,我在WORD文档中有一些突出显示的部分,我希望将它们聚合到一个新文档中,但我希望在每个唯一的突出显示部分前后插入一个管道(shift反斜杠),以便于导入到另一个程序中 我已经能够通过以下过程选择这些突出显示的部分并将其复制到新文档中: 查找>高级查找>更多>格式>突出显示>在>主文档中查找>关闭>Ctl+C>Ctl+N>Ctl+V 这个过程将我所有突出显示的文本放入一个新文档中 我的最终目标是让这些相同的高亮部分被管道角色包围 我希望这能清楚地解释我的“结局”。提前感谢您的帮助 您可以尝试以下代

我在WORD文档中有一些突出显示的部分,我希望将它们聚合到一个新文档中,但我希望在每个唯一的突出显示部分前后插入一个管道(shift反斜杠),以便于导入到另一个程序中

我已经能够通过以下过程选择这些突出显示的部分并将其复制到新文档中:

查找>高级查找>更多>格式>突出显示>在>主文档中查找>关闭>Ctl+C>Ctl+N>Ctl+V

这个过程将我所有突出显示的文本放入一个新文档中

我的最终目标是让这些相同的高亮部分被管道角色包围


我希望这能清楚地解释我的“结局”。提前感谢您的帮助

您可以尝试以下代码:

Sub CopyHighlightedText()

    Dim rng As Range
    Dim str As String

    Set rng = ActiveDocument.Range

    With rng.Find

        .ClearFormatting
        .Highlight = True

        While .Execute(Forward:=True, Format:=True)
            str = str & " | " & rng.Text
        Wend

    End With

    Documents.Add DocumentType:=wdNewBlankDocument
    Selection.TypeText Text:=str

End Sub

你的标题和标签提到VBA。你试过什么了吗,包括宏录制器?即使共享录制的代码也可以避免其他人从头开始重新创建。目前还没有代码,因为我不知道在哪里为每段“提取”文本插入代码。我可以在执行上述步骤时运行宏录制器,但不确定如何在此处设置格式,因为这是我的第一篇文章。只需在文章中添加代码,然后使用大括号或Ctrl-K设置格式。谢谢BigBen。。。我在以后的帖子中提到了这一点。这太棒了!谢谢你的帖子。。。它几乎像我所寻找的那样工作——唯一缺少的部分是每个选择末尾的管道。你能发布代码更新吗?非常感谢@MikeDuffy-只需在rng.Text之后添加&“|”