Добрый день, уважаемые форумчане.
Пытаюсь средствами 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
|