Domino 9 und frühere Versionen > Entwicklung
Serienbriefe in Word datensatzweise drucken
Don Pasquale:
aba,
na klar,
entweder habe ich mir bis dahin die Kugel gegeben oder
bin zum profi geworden
ciao
don pasquale
wflamme:
--- Zitat von: ata am 19.12.02 - 12:48:15 ---... ich habe die Werte gefunden...
wdFirstRecord = -4
wdNExtRecord = -2
wdFormLetters = 0
ata
--- Ende Zitat ---
Damit geht's einfacher:
http://www.sns1.de/partner/flamme/wflamme.nsf/Shortcut/DumpTypeLibInfo1
ata:
@wfamme
... damit hat man schon mal alles was man braucht. Die Sache mit den externen Dateien, die eingebunden werden haben nur einen kleinen Nachteil - bei jeder Speicherung des Designelementes muss vorhanden sein - darauf muss man achten, den sonst kennt die die Konstanten nicht. Wenn also der Kunde genau bei diesem Designelement was biegt und ddann speichert, und er hat die Datei nicht...
ata
Don Pasquale:
Liebe Freunde der Serienbrief-Schreiberei,
dank der freundlichen Hilfe dieses Forums ( insbesondere Anton a.k.a ata ) konnte ich endlich einen Serienbrief Datensatzweise drucken. Glaubt mir, das wird gewünscht.
Hier ist nun mein aktuelles Ergebnis
(aber, es ist noch nicht unter Last getestet)
PFAD$ = der Pfad zur Serienbriefformatvorlage
DataSource = Pfad zur Serienbriefsteuerdatei
Const wdFirstRecord = - 4
Const wdNExtRecord = -2
Const wdFormLetters = 0
Const wdToggle = 0 ' diese Zahl ist vermutlich falsch, aber klappt trotzdem
Dim WordDoc2 As Variant
Dim object As Variant
Dim WordObj As Variant
'***************
Set word = CreateObject("Word.Application") 'Create Word object
Call word.documents.add(PFAD$)
Set Worddoc2 = word.activedocument 'Get a handle for the active document
WordDoc2.MailMerge.MainDocumentType = wdFormLetters
Call WordDoc2.MailMerge.OpenDataSource(DataSourcePfad)
WordDoc2.MailMerge.SuppressBlankLines = True
Call WordDoc2.MailMerge.Execute(True)
word.visible = True 'Comment this line if you don't want to show Word.
' word.ActivePrinter = "Print-2-Image"
Call worddoc2.PrintOut
' ****************
WordDoc2.MailMerge.ViewMailMergeFieldCodes = wdToggle
'Gehe durch alle Datensaetze zum Druck auf Papier
iAlterRecord = 0
iNeuerRecord = 1
WordDoc2.MailMerge.DataSource.ActiveRecord = wdFirstRecord
Do While iAlterRecord <> iNeuerRecord
'Warten, bis (evtl. aus dem Vorlauf noch vorhandene) Attribute.txt nicht mehr da ist ..
Call worddoc2.PrintOut(False, , , , , , , 1)
iAlterRecord =iNeuerRecord
WordDoc2.MailMerge.DataSource.ActiveRecord = wdNextRecord
iNeuerRecord = Cint(WordDoc2.MailMerge.DataSource.ActiveRecord)
Loop
End If
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln