I have a VB.Net application which performs a Word document mail merge without input from the user. An excerpt of the code is pasted below. In my code, the merge is carried out using the desired record by passing the relevant record number to the mail merge process using:
.FirstRecord = [RecordNumber]
.LastRecord = [RecordNumber]
...as shown in the code excerpt attached.
This method however assumes the order of the datasource (and hence the record number of the desired record) is known at the time the merge is executed. This is the issue; I do not always know the order, and therefore I want to do the mailmerge using:
WordBasic.MailMergeFindEntry
...to find the record by harnessing Word's "Find Recipient" feature in the mailmerge toolbar, which finds a specific record in the list by searching for text. I therefore need to know...
***How can I pass a value to the Find Recipient feature of Word?***
Please note this solution needs to work for all versions of Word from 2002 onwards, and must be fully automated - ie not require any user input during the mail merge process.
...With oWord With .ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = RecordNumberInMerge .LastRecord = RecordNumberInMerge End With .Execute(Pause:=False) End With...
Our community of experts have been thoroughly vetted for their expertise and industry experience.
The Distinguished Expert awards are presented to the top veteran and rookie experts to earn the most points in the top 50 topics.