Hallo liebe Community,
ich bin leider auf eure Hilfe angewiesen.
Ich habe folgendes vor:
Ein mit Variablen gefülltes Dokument möchte ich via Makro drucken. Insoweit, keine Probleme.
Die Variablen sollen nach jedem Druckauftrag automatisch geändert werden, d. h. Dokument fertig -> Druck -> Anpassung der Variablen -> Druck Anpassung der Variablen -> Druck usw.
Allerdings wird bei mir nur die erste und die letzte "Änderung" gedruckt.
Die Änderung der Variablen wird nach und nach vorgenommen. Das funktioniert auch (habe ich anhand von MsgBoxen abgefragt).
So sieht das Ganze aus:
Code: Alles auswählen
Sub AlleDrucken
Textdokument = ThisComponent
Textfelder = Textdokument.TextFieldMasters
strKonto = "com.sun.star.text.FieldMaster.User.strKonto"
strTeilnehmer = "com.sun.star.text.FieldMaster.User.strTeilnehmer"
'Teilnehmer 1 drucken
Textfelder.getByName(strKonto).content = "Test1"
Textfelder.getByName(strTeilnehmer).content = "1"
Textdokument.textfields.refresh()
call Drucken
'Teilnehmer 2 drucken
Textfelder.getByName(strKonto).content = "Test2"
Textfelder.getByName(strTeilnehmer).content = "2"
Textdokument.textfields.refresh()
call Drucken
End Sub
Liegt es möglicherweise doch an dem aufgezeichneten "Druck"-Makro? Das sieht wie folgt aus:
Code: Alles auswählen
sub Drucken
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Printer"
args1(0).Value = "\\XXXXXXX" 'Pfad etc ist im Original vorhanden
dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Copies"
args2(0).Value = 1
args2(1).Name = "Collate"
args2(1).Value = true
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())
end sub
Hat vielleicht jemand eine Idee worin der Fehler zu suchen ist?
Danke für eure Hilfe
Sascha
Moderation,4: verschoben in MAKROS (und allgem. Programmierung)-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst; doppeltes Thema im falschen Bereich gelöscht