Domino 9 und frühere Versionen > Entwicklung
Serienbriefe in Word datensatzweise drucken
Don Pasquale:
Hallo Leute,
und wieder ein klitzeklitzekleines Problem (hüstel)
Ich erstelle einen Serienbrief, möchte aber nicht den kompletten
Serienbrief auf einmal, sondern immer nur Datensatzweise.
Aber irgendwie springt er nicht in den nächsten Datensatz.
Hier ein Codeauszug :
MyWordDoc.MailMerge.DataSource.ActiveRecord = wdFirstRecord
Do While iAlterRecord <> iNeuerRecord
iRepetition = 0
word.ActivePrinter = "Print-2-Image"
Call myworddoc.PrintOut(False, , , , , , , 1)
word.Applikation.FileName ="test777.tif"
worddoc.saveas("c:\temp\test.doc")
iAlterRecord =1
MyWordDoc.MailMerge.DataSource.ActiveRecord = wdNextRecord
Loop
jemand eine idee ?
Ciao
Don Pasquale
ata:
... du beziehst dich mit While auf eine Bedingung, vielleicht ist die ja erfüllt...
ata
Don Pasquale:
Hi ata,
ich habe mich vielleicht ungeschickt ausgedrückt,
diese Beiden Zeilen scheinen ohne Funktion zu
sein:
MyWordDoc.MailMerge.DataSource.ActiveRecord = wdFirstRecord
MyWordDoc.MailMerge.DataSource.ActiveRecord = wdNextRecord
und folgendes :
Messagebox ( Cint MyWordDoc2.MailMerge.DataSource.ActiveRecord) )
ergibt ein Variant does not Contain Object.
Nun sind mir die Methoden der Word.Applikation
einfach nicht geläufig.
Was tun ?
ratlos
Don Pasquale
ata:
... du arbeitest mit Word-Konstanten, sind die deklariert worden?...
ata
Don Pasquale:
So sieht das Skript bisher aus:
[
.
.
.
]
--- Code: ---Dim word As Variant
Dim WordDoc1 As Variant
Dim WordDoc2 As Variant
Dim object As Variant
Dim WordObj As Variant
iAlterRecord = 0
iNeuerRecord = 10
Set word = CreateObject("Word.Application") 'Create Word object
Call word.documents.add(PFAD$,False)
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.quit 'remove comment if you want to close rather than show Word.
'Worddoc2.MailMerge.ViewMailMergeFieldCodes = wdToggle
' wohin kommt das und was bringt es ?
WordDoc2.MailMerge.DataSource.ActiveRecord = wdFirstRecord
Do While iAlterRecord <> iNeuerRecord
'Warten, bis (evtl. aus dem Vorlauf noch vorhandene) Attribute.txt nicht mehr da ist ..
iRepetition = 0
iAlterRecord = iAlterRecord + 1
word.ActivePrinter = "Print-2-Image"
Call worddoc2.PrintOut(False, , , , , , , 1)
WordDoc2.saveas("c:\temp\test.doc") 'save the document with the filename of "user"
WordDoc2.MailMerge.DataSource.ActiveRecord = wdNextRecord
Loop
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln