как создавать закладки в таблице - PullRequest
0 голосов
/ 08 августа 2011

Я автоматизирую обработку текстовых документов, где добавляю закладки на основе критериев поиска.Код работает отлично, но он не работает, когда у меня есть таблицы в документе.Похоже, что в обычном документе, когда я читаю текст, он задается как строка на строку, но в случае таблиц текст имеет столбцы и строки.Поэтому, когда я ищу текст, и этот текст записывается в две строки в одном столбце, результат будет нормальным, но когда я выбираю текст, WORD API выбирает текст из двух столбцов вместо одного и того же столбца, но из двух строк.

col1          col2
This is       Second Column
Some Text

Теперь, если я буду искать текст «Это какой-то текст», я получу его правильно, но когда я выделю его, я получу «Это второй столбец»

reg = New Regex(result.token(j).ToString())
                Dim m As Match = reg.Match(_doc.Range.Text, 0)
                pos = m.Index ' start position is fine

                ''  start is the starting position of the token in the content...
                ''length is the size of the token
                len = result.token(j).ToString().Length ' text length is fine

                rng = _doc.Range(pos, len + pos) ' this copies the text from the second col
                _doc.Bookmarks.Add(bookmarkName, rng)

1 Ответ

0 голосов
/ 10 августа 2011

вместо выделения текста по длине, вы можете выделить всю ячейку, попробуйте адаптировать свой код следующим образом:

rng = Selection.Cells(1).Range
...