Serienbrief wdLastRecord
21.03.2008 17:44:07
P.Welbers
wieder mal das leidige Thema Serienbrief.
Ich versuche die Anzahl der records für einen Serienbrief festzustellen, aber als Ergebniss bekomme ich immer nur den Wert 1.
Ich habe mir folgendes Makro zusammengestellt.
Sub brief()
Dim Pfad As String, bfile As String, Briefnummer As Integer, AnzahlDaten As Integer
Dim wrddoc As Object
Pfad = "C:\Dokumente und Einstellungen\Briefe\"
bfile = "Brief1.doc"
Briefnummer = 1
'Word-Serienbrief öffnen
Set wrdapp = CreateObject("Word.Application")
wrdapp.Visible = True
wrdapp.WindowState = wdWindowStateMaximize
Set wrddoc = wrdapp.documents.Open(Pfad & bfile, ReadOnly:=False)
With wrddoc
.MailMerge.OpenDataSource Name:="c:\tmp\Mappe1.xls", _
LinkToSource:=True, _
Connection:= _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\tmp\Mappe1.xls;Mode=Read;" _
, SQLStatement:="SELECT * FROM `Tabelle1$` where BRIEF = " & Briefnummer, SQLStatement1:="", SubType:=wdMergeSubTypeAccess
End With
wrddoc.MailMerge.ViewMailMergeFieldCodes = wdToggle
With wrddoc.MailMerge
.DataSource.ActiveRecord = wdLastRecord
AnzahlDaten = .DataSource.ActiveRecord
End With
wdLastRecord ist aber leer. Daher bleibt das Makro auf dem ersten Datensatz stehen.
Kann mir jemand einen Tipp geben, was ich falsch mache?
Peter