VBA Mail Merge с определенным значением строки - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь создать рассылку на основе файла Excel со следующей базовой структурой:

ID   Name   Street   Info... 

12   John   XXX      YYY

13   Mark   YYY      ZZZ

14   Hunter OOO      NNN

ID, Имя, Улица и Информация служат здесь столбцами.

Чтобы создать и экспортировать полное письмо в PDF, я объявляю константы StartWith и EndWith, которые принимают значение соответствующей строки. Базовый код VBA выглядит следующим образом (сюда не входят все этапы экспорта, только необходимые части для начального и конечного значений):

startWith = 1    
endWith = 3
counter = startWith


With ActiveDocument.MailMerge    
    .DataSource.ActiveRecord = startWith    
    Do
        With .DataSource
            .FirstRecord = .ActiveRecord
            .LastRecord = .ActiveRecord
        End With
        .Execute Pause:=False

        ActiveDocument.SaveAs FileName:=sLetter, FileFormat:=wdFormatPDF      
        ActiveDocument.Close False

        If .DataSource.ActiveRecord < .DataSource.RecordCount And counter <= endWith Then
            .DataSource.ActiveRecord = wdNextRecord
            counter = counter + 1
        Else
            Exit Do
        End If
    Loop
End With

If DataSource.ActiveRecord < DataSource.RecordCount Then
DataSource.ActiveRecord = wdNextRecord

Else

End If

Вместо того, чтобы объявлять константы StartWith и EndWith, я бы хотел установить значения StartWith и EndWith равными определенному значению столбца ID, чтобы я мог начать с идентификатора 13 и закончить с 15, т.е. вместо определения StartWith в качестве соответствующего номера строки. Есть ли способ реализовать это в VBA?

Спасибо за вашу помощь, я очень ценю это!

...