Как вставить закладку в слове с помощью C # / VB.NET - PullRequest
3 голосов
/ 16 июля 2011

Я пытаюсь добавить закладки в документ Word, используя C #, но это не работает, и я не могу найти никакой помощи ни в документации MSDN, ни в Интернете. Вот как я пытаюсь это сделать.

Я читаю документы Word, а затем ищу ключевое слово в этом документе, а затем преобразовываю этот текст в гиперссылку, и это прекрасно работает. Теперь я хочу создать этот текст в виде закладки вместо гиперссылки. Я делаю все это в C #

Ответы [ 2 ]

1 голос
/ 24 июля 2011
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)
0 голосов
/ 16 июля 2011

Вам необходимо разобраться с Open XML SDK. Это не очень хорошо задокументировано ...

Некоторое время назад я писал о вставке изображений в документы Word. Совсем не то же самое, но вы никогда не знаете, вы можете найти некоторые указатели, чтобы начать ...

HowTo: вставить изображение в документ Word и отобразить его с помощью OpenXML

...