突出显示MS Word文档中的搜索词

时间:2009-01-15 22:57:36

标签: ms-word full-text-search highlighting

我们有一个项目,我们需要通过基于Web的界面提供对Word文档集合的搜索。客户希望在用户打开文档时突出显示搜索词。

打开文档时,有没有办法在Word中直接执行此操作?我们可以提出的唯一选择是将Word文档转换为HTML并显示它。

仅供后台使用,我们目前正在使用Windows SharePoint Services进行文档搜索。

2 个答案:

答案 0 :(得分:2)

您可以使用Word的突出显示功能执行此操作。但是,要使用该功能,您必须在服务器端或客户端使用Word自动化。

VBA中用于突出显示搜索词的脚本可能如下所示:

Sub Highlight(oDoc As Word.Document, term As String)

    With oDoc.Range.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Replacement.Highlight = True
        .Text = term
        .Replacement.Text = term
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With

End Sub

脚本执行搜索和替换,并将突出显示应用于找到的文本。如果您对如何最好地自动化Word有任何疑问,例如在服务器环境中,请不要犹豫。

答案 1 :(得分:1)

Kwizcom有一款满足这种需求的产品 - 我没试过,你的里程可能会有所不同! SharePoint搜索字符串突出显示器 - http://www.kwizcom.com/ProductPage.asp?ProductID=28

此外,如果将Word文档转换为PDF是可以接受的(假设您已安装PDF iFilter以便可以对这些文档编制索引),则可以通过将参数附加到URL来获得结果文档中的搜索项突出显示。 Adobe Viewer客户端可以解释这些并基本上对文档进行客户端搜索。有关详细信息,请参阅http://www.novolocus.com/2008/05/15/hit-highlighting-inside-adobe-pdfs-using-sharepoint-search/

希望这有帮助!