ドキュメントの内容を読み込んで、特定の単語のすべての箇所をハイパーリンクで置き換えるMS-Wordアドインに取り組んでいます。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);
このコードは機能しますが、大きなドキュメントでは遅くなることがあります。したがって、ハイパーリンクを1つずつ追加する代わりに、Find.Replacement
オブジェクトとWdReplace.ReplaceAll
プロパティを使用するだけでした。
ただし、検索結果をハイパーリンクで置き換えることはできません。
Replace
メソッドを使用してハイパーリンクでテキストを置き換える方法はありますか? 言い換えれば、私はこれを行うための方法を見つけるしたいと思います。他の側では
Find.Replacement.Text = new Hyperlink(...);
Alt + F9
を押すことで、私たちはコードのようにハイパーリンクを見ることができる、ということを見てきました。 コードは次のようになります。
{ HYPERLINK \l "link" \o "Caption" }
別の解決策その文字列としてテキスト置換を設定し、Wordがそれを解釈しますので、リンクを作成できるようになります。
読んでいただきありがとうございます。