显然,我们的应用程序基于模板生成 Word 文档的正确方法是鼓励管理员用户(他们将负责模板)在模板文档中嵌入正确的合并字段或书签。
然而,在过去,我们发现通常不使用 MailMerge 或 Word 中任何其他“高级”功能的典型管理员用户因不得不使用合并字段而被严重推迟。我们已经尝试为他们做这件事,制作文档,大量截图等。但这对他们来说都是“繁琐”的。
他们有几十个模板(都是不同类型的非常简单的字母),并且会想要合理地频繁地修改它们。
他们真正想要的是能够用一个简单的分隔符(如花括号)来标记字段,这有效地将自制的合并字段标记到我们的应用程序中(尽管 Word 忽略了它的重要性),如下所示:
亲爱的{客户姓氏}
然后我们可以用几行代码来获取字段,如下所示:
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
这感觉很粗糙,但非常简单(对于最终用户)。
有没有其他人走这条路?有什么问题吗?我们建议他们不要在文档的普通文本中的其他地方使用“{”和“}”字符,但这并不是一个真正的重大限制。
速度?将合并字段包装成两行?其他问题?