Ich habe ein VB.NET VSTO AddIn für Word.Word MailMerge Teilbereich
In diesem Projekt muss ich eine MailMerge-Operation ausführen, aber nur für einen Teilbereich der MergeSource.
In diesem Beispiel nehmen wir an, dass die MergeSource 100 Empfänger enthält. Ich möchte nur Empfänger 11-20 aufnehmen.
Normalerweise mache ich folgendes, aber das schließt ALLE Empfänger ein.
Sub ExecuteMerge(ByRef Doc As Word.Document)
Doc.MailMerge.Execute(False)
End Sub
Was würde ich zu tun, um die Lage sein mag, ist so etwas wie diese:
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
Hinweis: .StartPosition
und .EndPosition
ist nur Pseudo-Code, ist es nicht als eine Eigenschaft existiert.
Das ist, was ich suche. Wie stelle ich den Bereich der Empfänger ein, die in die Zusammenführung einbezogen werden sollen?
Wort muss in der Lage sein, dies zu tun, denn wenn ich MailMerge manuell durchführen, ich diesen Dialog erhalten: