Слово всто получить текст документа со скрытыми символами - PullRequest
0 голосов
/ 09 мая 2019

Я разрабатываю надстройку для анализа текста vsto для Word.Поэтому я получаю текст активного документа следующим образом:

Globals.ThisAddin.Apllication.ActiveDocument.Content.Text

После этого я анализирую его.Анализ возвращает список позиций, которые Word должен прокомментировать (например, символ 3-6 и символ 10-13).

Проблема заключается в том, что в комментарии от 3 до 6 добавляется символ (то естьскрыто) к документу.Потому что все комментарии, которые делает Word после первого, помещаются на один символ слишком рано.

Есть ли способ, как это исправить или как получить текст со скрытыми символами?

Я нашел TextRetrievalMode, но я не могу заставить его работать с этим.

1 Ответ

1 голос
/ 09 мая 2019

По сути, ответ «Нет, вы не можете сделать это так, как вы предлагаете».

Да, Word действительно добавляет «скрытые символы» в поток текста, который не может быть выбран с помощью объектамодель.Попытка работать со значениями индекса символа не будет работать надежно.Надежный метод - встроенный в Word поиск / замена с подстановочными знаками.Если RegEx абсолютно необходим, то какой-то вид Find / Replace в диапазоне символьных индексов (скажем, начиная с 5 символов до и заканчивая 5 символами после индексов, вычисленных с использованием RegEx) может быть способом двойной проверки результата и полученияправильный диапазон.

Возможно, в зависимости от того, что это за анализ, может быть лучше работать с закрытым файлом, используя Office Open XML.В этом не будет проблемы «скрытых символов», которые Word использует для структурной информации.С другой стороны, есть много информации о форматировании, которая разбивает текстовые прогоны, которые необходимо согласовать с ...

...