我正在研究一个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.ReplaceAll
属性。
但是,我无法通过超链接替换我的搜索结果。
有没有办法用Replace
方法用超链接替换一段文字?
换句话说,我想找到一种方法:
Find.Replacement.Text = new Hyperlink(...);
另一方面,我已经看到,通过在Word中点击Alt + F9
,我们可以看到超链接作为代码。
代码如下所示:
{ HYPERLINK \l "link" \o "Caption" }
另一个解决方案是能够将文本替换设置为该字符串并使Word解释它,从而创建链接。
感谢阅读。
答案 0 :(得分:1)
据我所知,字段只能以编程方式插入,或者使用CTRL-F9。我看到有两个可能的原因:
Code
和Result
,其中只有一个会随时显示。