如何在表中创建书签

时间:2011-08-08 18:23:26

标签: ms-word bookmarks

我正在自动化单词文档处理,我根据搜索条件添加书签。代码工作得很好但是当我在文档中有表时它失败了。看起来在普通文档中,当我读取文本时,它是按行每行给出的,但在表格的情况下,文本有列和行。因此,当我查找文本并且文本在一列中以两行写入时,结果将是正常的,但是当我选择文本时,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 :(得分:0)

而不是按长度选择文本,您可以选择整个单元格,尝试以这种方式调整代码:

rng = Selection.Cells(1).Range