Добрый день, уважаемые форумчане.
Пытаюсь средствами VBA управлять процессом слияния word и excel.
Штатными средствами word можно делать слияние либо по всем строкам источника данных, либо по конкретному диапазону строк. Записал макрос слияния одной строки и запустил в цикле. При этом мне не удается получить значение полей документа слияния. Всегда выдается только значение первой строки таблицы.
Пробовал в разных вариантах, потратил несколько часов в поисках, но всё тщетно - выдаются только поля первой страницы слияния, остальные не выводятся. Решил обратиться на форум. Буду признателен за подсказки.
Код:
Прикладываю сам файл и источник данных.
Пытаюсь средствами VBA управлять процессом слияния word и excel.
Штатными средствами word можно делать слияние либо по всем строкам источника данных, либо по конкретному диапазону строк. Записал макрос слияния одной строки и запустил в цикле. При этом мне не удается получить значение полей документа слияния. Всегда выдается только значение первой строки таблицы.
Пробовал в разных вариантах, потратил несколько часов в поисках, но всё тщетно - выдаются только поля первой страницы слияния, остальные не выводятся. Решил обратиться на форум. Буду признателен за подсказки.
Код:
Код |
---|
Sub my_macro() For i = 1 To 2 With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = i .LastRecord = i lname = ActiveDocument.MailMerge.DataSource.DataFields(2).Value MsgBox (lname) End With .Execute Pause:=False End With Windows("my_print").Activate Next i End Sub |