2013-06-13 61 views
0

虽然试图programmaticly创建MS Word文档,我遇到了一个问题:链接的MS Word的超链接到一个地方文档中

我试图找到(没有成功)的方式来创建超链接或东西否则,会做的工作,将用户导航到另一个地方的文档

的地方可以是一个书签或其他一些段落对象

在Word应用程序之前,我插入,我选择一个文本,右键单击,按超链接并将链接指向“文档中的位置”

我不能在C#中找到它的方法#

help?

+1

十字参考是您正在寻找的术语,这可能会使Google更容易。我想你需要[Range.InsertCrossReference](http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.range.insertcrossreference(v = office.11​​).aspx)。 – Stefan

回答

1

旁边添加一个交叉引用,也有使用超级链接

虽然超级链接据说链接到网页地址的可能性,它也可以直接给你在文档文本使用它是这样的:

 Microsoft.Office.Interop.Word.Paragraph oPara2; 
     object oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range; 
     oPara2 = oDoc.Content.Paragraphs.Add(ref oRng); 
     oPara2.Range.Text = "Heading 2"; 
     oPara2.Format.SpaceAfter = 6; 
     oPara2.Range.InsertParagraphAfter(); 
     oDoc.Bookmarks.Add("BookmakrName3", oRng); 


     object oAddress = "#BookmakrName3"; 

     //Add text after the chart. 
     wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range; 
     wrdRng.InsertParagraphAfter(); 
     wrdRng.InsertAfter("Click here to jump"); 
     wrdRng.Hyperlinks.Add(wrdRng, ref oAddress); 

注意,有一个给出的地址书签名称前“#” ..这是招

1

如果您希望更经常地使用其他Word文档,您可以看看Latex,它可以在您的文档中创建非常快速的引用,但会生成PDF。现在的问题是,你的Word是否仍然可以编辑,如果是的话,那么我会去Ranger.InsertCrossReference。

例约InsertCrossReference:

http://msdn.microsoft.com/fr-fr/library/microsoft.office.tools.word.bookmark.insertcrossreference.aspx

关于什么是乳胶。

http://fr.wikipedia.org/wiki/LaTeX

在这里,你可以在网上写你的乳胶文件。

https://www.sharelatex.com/