Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Serienbrief wdLastRecord

Serienbrief wdLastRecord
21.03.2008 17:44:07
P.Welbers
Hallo,
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Serienbrief wdLastRecord
21.03.2008 18:59:00
Renee
Hi Peter,
wdLastRecord ist aber leer. ... wdLastRecord ist eine VBA-Konstante und keine Variable!
Was ist den nach dem ausführen in AnzahlDaten ?
GreetZ Renée

AW: Serienbrief wdLastRecord
21.03.2008 19:08:00
P.Welbers
Hallo Renee,
in Anzahldaten steht 1
Peter

AW: Serienbrief wdLastRecord
21.03.2008 19:27:00
Renee
Hi Peter,
Das ist ja auch richtig, denn mit dem Befehl

"SELECT * FROM `Tabelle1$` where BRIEF = " & Briefnummer


Liest du genau einen Record aus der Exceltabelle, unter der Annahme das in der Kolonne mit dem dem Titel BRIEF die gelesene Nummer nicht mehrmals steht!
GreetZ Renée

Anzeige
AW: Serienbrief wdLastRecord
21.03.2008 20:10:00
P.Welbers
Hallo Renee,
ich lese natürlich mehere Records bei dem im Feld Brief die ausgewählte Briefnummer steht. Im Serienbrief werden ja auch alle angezeigt.
Wenn ich die Einschränkung where ... weglasse, bleibt Anzahldaten auf 1.
Im Serienbrief kann man aber zwischen dem ersten und letzten Datensatz hin und her klicken.
Peter

AW: Serienbrief wdLastRecord
21.03.2008 21:49:20
Luschi
Hallo Peter,
auch wenn Du in Excel ein Word-Applications-Objekt erstellst, so kann Excel mit den wordinternen Konstanten nichts anfangen. Man muß sie also in Excel-Vba noch einmal definieren.
Const wdLastRecord = -5
Welcher Wert hinter den einzelnen Konstanten steht, verrät Dir die Word-Vba-Hilfe.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Serienbrief wdLastRecord
21.03.2008 22:20:39
P.Welbers
Hallo Luschi,
ja, jetzt funktioniert es, vielen Dank
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige