Domino 9 und frühere Versionen > Entwicklung

Serienbriefe in Word datensatzweise drucken

<< < (4/4)

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