Мы написали часть программного обеспечения, которая обрабатывает XML из внутренних файлов XML документа Word и заменяет определенные коды заменяющими значениями.Иногда мы обнаруживаем, что такие коды разбиты между несколькими прогонами.Вот пример того, с чем мы иногда сталкиваемся:
<w:r>
<w:rPr>
<w:szCs w:val="24"/>
</w:rPr>
<w:t xml:space="preserve">After all, if you trust [CAN:Forename.ATTORNEY#01] enough to give</w:t>
</w:r>
<w:r>
<w:rPr>
<w:color w:val="000000"/>
</w:rPr>
<w:t>[CAN:ObjPronoun.ATTORNEY#01</w:t>
</w:r>
<w:r>
<w:rPr>
<w:szCs w:val="24"/>
</w:rPr>
<w:t xml:space="preserve">] power of attorney, you should trust </w:t>
</w:r>
<w:r>
<w:rPr>
<w:color w:val="000000"/>
</w:rPr>
<w:t>[CAN:ObjPronoun.ATTORNEY#01</w:t>
</w:r>
<w:r>
<w:rPr>
<w:szCs w:val="24"/>
</w:rPr>
<w:t>] enough to make the right decisions at the time.</w:t>
</w:r>
Абзац начинается отлично, с полным кодом [CAN:Forename.ATTORNEY#01]
, красиво встроенным в один узел w:t
, и это прекрасно,но затем ниже этого есть узел w:t
, который содержит начало кода, [CAN:ObjPronoun.ATTORNEY#01
, но затем тег w:t
заканчивается, и закрывающий ]
находится в следующем запуске.
Пользовательский опыт заключается в том, что начало абзаца отображается нормально, в том смысле, что [CAN:Forename.ATTORNEY#01]
отображается как имя какого-то человека.Но там, где пользователь видит [CAN:ObjPronoun.ATTORNEY#01]
в своем документе Word, и он прекрасно выглядит для их , поэтому они ожидают, что он также будет отображаться как некоторый текст, мы не можем увидеть этот код, потому что он разделен на несколькозапускается, поэтому отображаемый документ по-прежнему содержит код, а не его заменяющее значение.
Теперь к моим вопросам ...
Может кто-нибудь объяснить, почемуэто случается? Если пользователь просто набирает код, это нормально, но это происходит, если они возвращаются и возятся с абзацем.Есть ли что-то, что мы можем сказать пользователю в духе «не делай этого» или «не делай этого», или «убедитесь, что вы делаете то-то и то-то».Или, возможно, в Word есть параметры, которые не позволяют этому случиться?
Существует ли действие, которое пользователь может выполнять исключительно через интерфейс MS Word , которое исправляет такие абзацы?В данный момент мы просим их выделить весь абзац, вырезать его, вставить его в Блокнот (где он теряет весь этот странный детрит, оставленный в истории изменений пользователя), скопировать его снова из Блокнота и вставить обратно в Word.Да.Это работает.Но это немного ... неудовлетворительно , если не сказать больше.Так что, если есть собственный метод Word для достижения того же самого, это было бы намного элегантнее ...