2016-02-04 47 views
0

這是我的代碼。我可以插入一個超鏈接到每個評論,但我想插入多個超鏈接到一個評論,但我不知道如何更改我的代碼。如何在MS WORD中使用C#插入多個超鏈接到一個註釋?

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); 
       } 
      } 

回答

1

在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); 

既然你想這在一個循環中它可能會更好循環之前添加的註釋對象 - 文本參數是可選的,因此通過ref missing - 還有Comment.Range對象。然後循環創建超鏈接,摺疊,分配文本以將下一個超鏈接與下一個超鏈接分開,並再次摺疊以用於下一個超鏈接。

+0

謝謝你,你的答案是正確的。你解決了我的問題,就像英雄上帝保佑你一樣。 –

相關問題