我们有一个项目,我们需要通过基于 Web 的界面提供对 Word 文档集合的搜索。客户端希望在用户打开文档时突出显示搜索词。
打开文档时,有没有办法直接在 Word 中执行此操作?我们能想到的唯一选择是将 Word 文档转换为 HTML 并显示出来。
仅作为背景,我们目前使用 Windows SharePoint Services 进行文档搜索。
我们有一个项目,我们需要通过基于 Web 的界面提供对 Word 文档集合的搜索。客户端希望在用户打开文档时突出显示搜索词。
打开文档时,有没有办法直接在 Word 中执行此操作?我们能想到的唯一选择是将 Word 文档转换为 HTML 并显示出来。
仅作为背景,我们目前使用 Windows SharePoint Services 进行文档搜索。
您可以使用 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(例如在服务器环境中)有任何疑问,请不要犹豫。
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/ 。
希望这可以帮助!