Corrigir esse tipo de problema manipulando a fonte de dados (por exemplo, usando uma consulta) é geralmente o melhor caminho a seguir. AFAICS é o que você fez agora.
Como plano de fundo, nem todos os espaços em branco no MailMerge são tratados como em branco para fins de supressão de linha em branco. O espaço em branco digitado comum, como espaços e guias, é tratado como em branco. Campos MERGEFIELD que possuem um resultado em branco são tratados como em branco. Mas o resultado de um campo IF nunca é tratado como em branco.
Estou assumindo que a lógica que você precisa está nas seguintes linhas
If ( ext_b1 is False or borrower_1 is blank )
don't insert anything, not even a blank line
Else (i.e. ext_b1 is True and borrower_1 is not blank )
insert borrower_1 followed by a paragraph mark
End If
Se sim, e ext_b1 é sempre o mesmo valor não em branco quando é "não False" e borrower_1 nunca tem mais que 120 caracteres (isso é OTTOMH, você deve verificar), você pode usar um truque de curingas para simplificar o teste IF e tornar a codificação de campo um pouco mais simples:
{ IF "{ MERGEFIELD ext_b1 }{ MERGEFIELD borrower_1 }" = "True?*" "{ MERGEFIELD borrower_1 }" "" }
{ IF "{ MERGEFIELD ext_b2 }{ MERGEFIELD borrower_2 }" = "True?*" "{ MERGEFIELD borrower_2 }" "" }
Exceto que, na verdade, não elimina a marca de parágrafo quando ext_b1 é False ou borrower_1 está em branco. Para lidar com isso, o que você pode fazer é inserir a marca de parágrafo dentro de If "é verdadeiro resultado" e colocar todos os {} campos IF em uma linha, assim:
{ IF "{ MERGEFIELD ext_b1 }{ MERGEFIELD borrower_1 }" = "True?*" "{ MERGEFIELD borrower_1 }
" "" }{ IF "{ MERGEFIELD ext_b2 }{ MERGEFIELD borrower_2 }" = "True?*" "{ MERGEFIELD borrower_2 }
" "" }
Para tornar isso um pouco mais claro (espero), você também pode modificar o layout do código de campo colocando marcas de parágrafo dentro do IF, mas fora dos textos de resultado do IF. Essas marcas não farão parte do resultado. Você também não precisa do resultado "falso". então, por exemplo,
{ IF "{ MERGEFIELD ext_b1 }{ MERGEFIELD borrower_1 }" = "True?*"
"{ MERGEFIELD borrower_1 }
" }{ IF "{ MERGEFIELD ext_b2 }{ MERGEFIELD borrower_2 }" = "True?*"
"{ MERGEFIELD borrower_2 }
" }
Um problema com a modificação do layout é que a quantidade de espaço vertical ocupado pela expressão de campo muda dependendo se o usuário tem códigos de campo ou resultados de campo exibidos, então a mudança de uma vista para outra pode ser desconcertante ( especialmente em um documento grande, onde o Word também pode gastar tempo repaginando quando você ativa e desativa a exibição de código de campo.)