Domino 9 und frühere Versionen > Entwicklung

Serienbriefe in Word datensatzweise drucken

(1/4) > >>

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