Поскольку вы еще не опубликовали свой код VBA, невозможно точно знать, в чем проблема.Однако это, скорее всего, связано с тем, что ваше почтовое соединение подключается к открытой книге, содержащей данные.Другая возможность состоит в том, что вы используете смешанные типы данных в соответствующем столбце, поэтому mailmerge рассматривает даты как числа.Кодирование полей в основном документе mailmerge может использоваться для решения таких проблем.Например, чтобы преобразовать 43682 в 18/06/2019, можно использовать поле с кодировкой:
{QUOTE{SET jd{=2415019+{MERGEFIELD MyDate}}}
{SET e{=INT((4*(jd+32044)+3)/146097)}}
{SET f{=jd+32044-INT(146097*e/4)}}
{SET g{=INT((4*f+3)/1461)}}
{SET h{=f-INT(1461*g/4)}}
{SET i{=INT((5*h+2)/153)}}
{SET dd{=h-INT((153*i+2)/5)+1}}
{SET mm{=i+3-12*INT(i/10)}}
{SET yy{=100*e+g-4800+INT(i/10)}}
"{dd}-{mm}-{yy}" \@ "DD/MM/YYYY"}
Примечание: Пары фигурных скобок (т. Е. {{} ') ДляПриведенный выше пример все создается в самом документе с помощью Ctrl-F9 (Cmd-F9 на Mac или, если вы используете ноутбук, вам может понадобиться Ctrl-Fn-F9);Вы не можете просто напечатать их или скопировать и вставить их из этого сообщения.Также нецелесообразно добавлять их через какие-либо стандартные диалоги Word.Разрывы строк на самом деле не нужны, но они действительно облегчают структуру.
Макрос для преобразования приведенного выше в рабочее поле см. Преобразование текстовых представлений полей в рабочие поля в Mailmerge Советы и хитрости нить по адресу: http://www.msofficeforums.com/mail-merge/21803-mailmerge-tips-tricks.html