【发布时间】:2017-10-15 14:00:21
【问题描述】:
我正在开发一个 MS-Word 插件,它可以读取文档的内容并用超链接替换每个出现的特定单词。
到目前为止,我想出了这个可行的算法。
// Initializes the Find parameters
searchRange.Find.ClearFormatting();
searchRange.Find.Forward = true;
searchRange.Find.Text = "foo";
do
{
searchRange.Find.Execute(Wrap: Word.WdFindWrap.wdFindStop);
if (searchRange.Find.Found)
{
// Creates a Hyperlink at the found location in the current document
this.WordDocument.Hyperlinks.Add(searchRange, externalLink, link, "bar");
}
searchRange.Find.Execute(Wrap: Word.WdFindWrap.wdFindStop);
} while (searchRange.Find.Found);
此代码有效,但是在较大的文档上可能会很慢。因此,我不想一一添加超链接,而是简单地使用Find.Replacement 对象和WdReplace.ReplaceAllproperty。
但是,我无法用超链接替换我的搜索结果。
有没有办法使用Replacemethod 用超链接替换一段文本?
换句话说,我想找到一种方法来做到这一点:
Find.Replacement.Text = new Hyperlink(...);
另一方面,我已经看到,通过在 Word 中点击 Alt + F9,我们可以将超链接视为代码。
代码如下所示:
{ HYPERLINK \l "link" \o "Caption" }
另一个解决方案是能够将文本替换设置为该字符串并让 Word 解释它,从而创建链接。
感谢阅读。
【问题讨论】: