Поле Mailmerge не всегда сохраняется одинаково в Word .docx

Я создал документ Word с Word 2003 и вставил некоторые MergeField через графический интерфейс. Я сохранил его в формате.docx с помощью пакета обеспечения совместимости Microsoft Office для форматов файлов Word, Excel и PowerPoint 2007. Некоторые поля слияния хранятся как SimpleField, а другие хранятся как FieldCode (с start-FieldChar и end-FieldChar). Какой-то гугл привел меня в этот блог. Как вы можете видеть, парень сталкивается с той же проблемой; но пока не нашел решения.

Я использую следующий пример кода в Codeplex [Fill Mergefields], чтобы заменить MergeFields фактическими значениями из разных источников данных.

Любая помощь приветствуется.

1 ответ

Если значением поля является простой текст с постоянным форматированием, оно может быть сохранено как узел fldSimple. Однако, если значение поля имеет различное форматирование, оно должно быть сохранено как сложное поле (fldChar Start, Optional Separate и End), чтобы каждый прогон в пределах значения поля мог иметь свое различное форматирование, определенное в свойствах прогона. <w:rPr>, Я думаю, что это также происходит, если слово использует rsid атрибуты для отслеживания изменений. FldChar Start/Separate/End также необходимы, если поля являются вложенными, например, несколько полей IF, чтобы можно было хранить произвольное число <w:r>, <w:p>, <w:tbl> в качестве значения поля.

И иногда он хранит их таким образом, по-видимому, без веской причины. (Как отметил этот блог).

Другие вопросы по тегам