J'ai un AddIn VB.NET VSTO pour Word.Word MailMerge partielle plage
Dans ce projet, j'ai besoin d'exécuter une opération MailMerge, mais seulement pour une plage partielle de MergeSource.
Dans cet exemple, supposons que MergeSource contient 100 destinataires. Je souhaite uniquement inclure le destinataire 11-20.
Normalement, je fais ce qui suit, mais cela inclut TOUS les destinataires.
Sub ExecuteMerge(ByRef Doc As Word.Document)
Doc.MailMerge.Execute(False)
End Sub
Ce que je voudrais être en mesure de le faire, est quelque chose comme ceci:
Sub ExecuteMerge(ByRef Doc As Word.Document, Optional StartPos As Integer = 0, Optional EndPos As Integer = 0)
If StartPos > 0 AndAlso StartPos <= Doc.MailMerge.DataSource.RecordCount Then
Doc.MailMerge.StartPosition = StartPos
Else
Doc.MailMerge.StartPosition = 1
End If
If EndPos > StartPos AndAlso EndPos <= Doc.MailMerge.DataSource.RecordCount Then
Doc.MailMerge.EndPosition = EndPos
Else
Doc.MailMerge.EndPosition = Doc.MailMerge.DataSource.RecordCount
End If
Doc.MailMerge.Execute(False)
End Sub
Note: .StartPosition
et .EndPosition
est juste pseudo-code, il n'existe pas comme une propriété.
Voici ce que je cherche. Comment définir la plage de destinataires à inclure dans la fusion?
Paroledoit être en mesure de le faire, car quand je joue MailMerge manuellement, je reçois cette boîte de dialogue: