如何使用 C# 在 MS WORD 中的一个注释中插入多个超链接

本文关键字:一个 注释 超链接 插入 何使用 MS WORD | 更新日期: 2023-09-27 18:33:17

这是我的代码。我可以为每个评论插入一个超链接,但我想在一条评论中插入多个超链接,但我不知道如何更改我的代码。

using Microsoft.Office.Interop.Word;
     public void addCommentsToDocument(object start, object end, Hyperlink[] comments)
            {
                Range range = document.Range(ref start, ref end);
                object missing = System.Reflection.Missing.Value;
                for (int i = 0; i < comments.Length; i++)
                {
                    object url = comments[i].url;
                    object text = comments[i].Text;
                    Comment var = document.Comments.Add(range, text);
                    document.Hyperlinks.Add(var.Range, ref url, ref missing, ref missing, ref text, ref missing);
                }
            }

如何使用 C# 在 MS WORD 中的一个注释中插入多个超链接

在 Word 中向区域添加其他内容的诀窍是使用 Range 对象。插入注释后,它有一个范围。要将某些内容附加到范围末尾,类似于在键入时处理选区,您需要将范围"折叠"到其终点(如按向右箭头键)。例如:

object oEnd = WdCollapseDirection.wdCollapseEnd;
Comment var = document.Comments.Add(range, text);
Range rng = var.Range;
document.Hyperlinks.Add(rng, ref url, ref missing, ref missing, ref text, ref missing);
rng.Collapse(ref oEnd);
rng.Text = ", ";
rng.Collapse(ref oEnd);

由于您希望在循环中执行此操作,因此最好在循环之前添加 Comment 对象 - Text 参数是可选的,因此传递ref missing - 以及 Comment.Range 对象。然后循环创建超链接,折叠,分配文本以将一个超链接与下一个超链接分开,然后再次折叠下一个超链接。