Мне нужно скачать документ Word и отредактировать содержащиеся в нем поля, чтобы сгенерировать окончательный документ с входными данными из формы.
Документ Word содержит много MERGEFIELD
и условных выражений, которые мне нужны обновить с новыми значениями. Я попытался l oop через поля, и когда mergefield
принадлежит моему списку допустимых полей, замените значение; но он не работает с полями слияния, содержащимися в условных выражениях.
Для простоты это работает:
Das blablabla zwischen {MERGEFIELD HerrnFrau} {MERGEFIELD Titel} {MERGEFIELD Nachname}. ...
Для условного не:
{IF {MERGEFIELD property} = "yes" {MERGEFIELD HerrnFrau} ....
Dim objWord As Word.Application
Dim objDoc As Word.document
Dim objField As Word.field
Dim idx As Integer
Dim idxField As Long
idxField = 1
With objDoc
For Each objField In .Fields
' Special case
If objField.Code = " MERGEFIELD hlp_Abs2 " Then
idx = GetIndexValue(objField.Code, AllFields)
objField.result.text = "1"
Else
' Check array with field names
If IsInArray(objField.Code, AllFields) Then
idx = GetIndexValue(objField.Code, AllFields)
objField.result.text = AllValues(idx)
End If
End If
Next objField
End With
Как правильно обновить поля документа, чтобы условное содержимое также корректно обновлялось?