검색 기준에 따라 북마크를 추가하는 문서 처리라는 단어를 자동화하고 있습니다. 코드는 훌륭하게 작동하지만 문서에 테이블이있을 때 실패합니다. 그것은 정상적인 문서에서 라인 당 줄 수있는 텍스트를 읽을 때처럼 보이지만, 텍스트의 경우에는 텍스트에 열과 행이 있습니다. 따라서 텍스트를 검색 할 때 텍스트가 한 줄에 두 줄로 작성되면 결과는 괜찮지 만 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)
미안 : 길이로, 당신은 전체 셀을 선택할 수 있습니다, 코드이 방법을 적용하려고'지금은 텍스트를 검색하면 "이 일부 텍스트입니다"나는 그것을 가지고 정확하게'w 좋아, 그럼 뭐가 잘못 됐니? 'This is'와'Some Text'는 두 개의 서로 다른 행에 있습니까? – JMax
혼란을 드려 죄송합니다. 실제로 북마크를 추가하려면 정규 표현식을 사용하여 텍스트를 검색하고 문자열이 존재하고 텍스트의 시작 위치를 알려줍니다. 그런 다음 텍스트를 _doc.Range (pos, lenofString + pos)로 선택하면 실제 텍스트를 올바르게 선택해야합니다. 그래서 내 예제에서, 내가 찾고있는 텍스트가 "This is some text"라면이 코드는 그것을 선택해야하지만 "This is Second column"을 선택하면 텍스트가 쓰여졌는지 알 수 없다는 것을 의미합니다 셀 안에 있고 행으로 읽습니다. 그것은 당신에게 어떤 의미가 있습니까? – Kashif