我正在自动化单词文档处理,我根据搜索条件添加书签。代码工作得很好但是当我在文档中有表时它失败了。看起来在普通文档中,当我读取文本时,它是按行每行给出的,但在表格的情况下,文本有列和行。因此,当我查找文本并且文本在一列中以两行写入时,结果将是正常的,但是当我选择文本时,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)
答案 0 :(得分:0)
而不是按长度选择文本,您可以选择整个单元格,尝试以这种方式调整代码:
rng = Selection.Cells(1).Range