C# Word-用超链接替换文本
我正在开发一个MS Word加载项,它读取文档的内容,并用超链接替换出现的每个特定单词 到目前为止,我提出了这个可行的算法C# Word-用超链接替换文本,c#,ms-word,vsto,C#,Ms Word,Vsto,我正在开发一个MS Word加载项,它读取文档的内容,并用超链接替换出现的每个特定单词 到目前为止,我提出了这个可行的算法 // Initializes the Find parameters searchRange.Find.ClearFormatting(); searchRange.Find.Forward = true; searchRange.Find.Text = "foo"; do { searchRange.Find.Execute(Wrap: Word.WdFi
// 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=新建超链接(…)代码>
另一方面,我看到,通过在Word中点击Alt+F9
,我们可以将超链接视为代码。
代码如下所示:
{HYPERLINK\l“link”\o“Caption”}
另一个解决方案是能够将文本替换设置为该字符串,并让Word对其进行解释,从而创建链接
谢谢阅读。据我所知,只能通过编程或使用CTRL-F9插入字段。我认为有两个可能的原因:
- 它们不是简单的文本。它们有两个范围,即
代码
和结果
,在任何时候都只显示其中一个范围
- 用户如何插入看起来像代码但不应该是代码的文本,除非有特殊的机制来创建代码