我有一个包含 MailMerge 字段的文档,但是我不想使用整个 datasource->mailmerge 的想法。相反,我在 Autonew() 上展示了一个 UserForm,并要求用户在字段中输入数据。
原因是因为这个文档是要与一行数据“合并”,所以要求用户为一行做整个数据源的事情是浪费时间。
我有一个使用 DocVariables 的工作解决方案,我相信大多数人会说这是正确的方法,但是这个客户喜欢在源文档中“看到”邮件合并变量(例如 <<1>>)的想法. 他们知道可以使用 Alt-F9 显示代码以查看 DocVariables,但他们坚持要使用 MergeFields。
使用 DocVariables 我使用以下方法。这行得通,所以我知道我的想法是正确的,并且我的其余代码工作正常。
ActiveDocument.Variables("varSurame").Value = .txtSurname
但是,我无法锻炼如何对合并字段做同样的事情。我想做类似下面的事情(但没有要设置的“值”属性)。
ActiveDocument.MailMerge.Fields("Surname").value = .txtSurname
.text 属性是只读的,所以我不能使用它。
以下呈现“书签未定义”错误。
ActiveDocument.MailMerge.Fields("Surname").Code.Text = .txtSurname
关于如何在不使用数据源的情况下以编程方式更改邮件合并字段的值的任何想法。