Я смог заставить работать код поля IF, не знаю как, он только начал работать.
Также я обнаружил, что вы можете использовать код VBA в документах слияния Word, используя коды полей DOCVARIABLE или REF.
Для всех, у кого есть эта проблема:
Добавьте переменную документа следующим образом:
{DOCVARIABLE MyVariable}
или ссылка на закладку, подобная этой:
{REF MyBookmarkReference}
Затем в VBA (Alt + F11) выполните следующее:
В проекте (название проекта), например Проект (MailMergeDemo)
В разделе «Объекты Microsoft Word»
Двойной клик «ThisDocument»
и введите следующий код
Dim WithEvents app As Application
Private Sub Document_Close()
Set app = Nothing
End Sub
Private Sub Document_Open()
Set app = Application
End Sub
Выберите объект приложения из раскрывающегося списка, затем выберите событие app_MailMergeBeforeRecordMerge и введите следующий код:
Private Sub app_MailMergeBeforeRecordMerge(ByVal Doc As Document, Cancel As Boolean)
Doc.Variables("MyVariable").Value = Doc.MailMerge.DataSource.DataFields(SomeFieldName).Value
Doc.Bookmarks("MyBookmarkReference").Range.Text = "this is a test"
Doc.Fields.Update
End Sub
Вам нужно будет закрыть и снова открыть документ, чтобы подключить объект приложения.
Пожалуйста, обратитесь к http://support.microsoft.com/kb/285333 для получения дополнительной информации.