如何使用c#/ VB.NET在word中插入书签

时间:2011-07-15 21:23:41

标签: c# .net vb.net ms-word bookmarks

我正在尝试使用C#在word文档中添加书签,但它不起作用,我在msdn文档和互联网上都找不到任何帮助。这就是我想要做的事情。

我正在阅读word文档,然后在该文档中搜索关键字,然后将该文本转换为超链接并且效果很好。现在,我想将该文本创建为书签而不是超链接。我在C#中做这一切

2 个答案:

答案 0 :(得分:1)

Dim _wordApp As ApplicationClass
Dim _doc As Document
Dim pos, len As Integer
Dim reg As Regex
Dim bookmarkName As String
Dim rng As Object
Dim search As String = "Some Text to search"

Dim nullobj As Object = System.Reflection.Missing.Value
Dim isReadOnly As Object = False
_wordApp = New ApplicationClass()

'open the word document
_doc = _wordApp.Documents.Open(fileName, isReadOnly, nullobj, nullobj, nullobj, _
     nullobj, nullobj, nullobj, nullobj, nullobj, nullobj, _
     nullobj, nullobj, nullobj, nullobj, nullobj)

    _wordApp.Visible = False


' keyword that you want to search
reg = New Regex(search)
' find the text in word file
Dim m As Match = reg.Match(_doc.Range.Text, 0)
pos = m.Index

' start is the starting position of the token in the content...
len = search.Length
' select the text
rng = _doc.Range(pos, len + pos)

bookmarkName = "MyBookmarkName"
_doc.Bookmarks.Add(bookmarkName, rng)

答案 1 :(得分:0)

您需要掌握Open XML SDK。它没有很好的记录......

我在很久以前发布了一些关于将图像插入Word文档的信息。根本不是一回事,但你永远不知道,你可能会找到一些方法来帮助你开始......

HowTo: Insert an image into a Word document and display it using OpenXML