Очевидно, что для нашего приложения правильный способ создания документа Word на основе шаблона состоит в том, чтобы побудить пользователей-администраторов (которые будут следить за шаблонами) вставлять правильные поля слияния или закладки в шаблон документа.
Однако в прошлом мы обнаружили, что наш типичный пользователь-администратор, который обычно не использует MailMerge или какие-либо другие «продвинутые» функции в Word, значительно откладывается из-за необходимости использовать поля слияния. Мы постарались сделать это для них, создать документацию, множество скриншотов и т. Д. Но для них все это «неудобно».
У них есть десятки шаблонов (все это просто различные типы действительно простых букв), и они захотят изменять их достаточно часто.
Что им действительно нужно, так это иметь возможность просто пометить поля простым разделителем, таким как фигурная скобка, который эффективно помечает поле слияния в нашем приложении (хотя Word не замечает его значения), как в:
Уважаемый {CustomerSurname}
Тогда мы можем просто выбрать поле (поля) с несколькими строками кода, как в:
w = New Word.Application
d = w.Documents.Open(...)
Dim mergedContent As String = d.Content.Text
mergedContent = mergedContent.Replace("{CustomerSurname}", Customer.Surname)
mergedContent = mergedContent.Replace("{CustomerPostcode}", Customer.Postcode)
d.Content.Text = mergedContent
Это кажется грубым, но очень простым (для конечного пользователя).
Кто-нибудь еще пошел по этому маршруту? Что-то не так с этим? Мы бы посоветовали им не использовать символы «{» и «}» в других местах обычного текста документа, но это не является существенным ограничением.
Скорость? Обтекание поля слияния через две строки? Другие проблемы?