Diesmal geht es darum, dass eine geöffnete Datei (Bericht) nachdem automatischen Drucken (welches ich mit dem unten stehenden Makro gelöst habe es wid aus geführt beim öffnen der Datei) geschlossen wird.
Vielleicht kann mir jemand helfen.
Ich danke schon mal im vorraus.
chairman
sub AutoDruck
Dim printProp(4) as New com.sun.star.beans.PropertyValue
printProp(0).Name = "Pages"
printProp(0).Value = "1-2"
printProp(1).Name = "CopyCount"
printProp(1).Value = 1
printProp(2).Name = "PaperOrientation"
printProp(2).Value = PORTAIT
printProp(3).Name = "PaperFormat"
printProp(3).Value = A5
myDoc=ThisComponent
myDoc.Print(printProp())
end sub
Guten Morgen,
habe Dein Makro mal bei mir ausprobiert.
Danke, darauf war ich vorher nicht gekommen.
allerdings habe ich es um eine Kleinigkeit erweitert...... das automatische schließen des Dokuments nach dem Druck.
Habe lediglich 2 Zeilen am Ende eingefügt.
1. wait
2. close(false)
Siehe Codefragment unten:
myDoc.Print(printProp())
wait 2500 ' warten, bis das Dokument abgearbeitet ist.... 2,5 Sekunden sollten reichen
myDoc.close(false)
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
es könnte ja alles so einfach sein, aber ist es wohl nicht.
Bei dem close kommt immer wieder ein Laufzeitfehler
Es ist eine Exception aufgetreten
Typ: com.sun.star.util.close.Veto.Eception
Message: .
wo dran kann es liegen unten ist daer aktuelle code.
chairman
sub AutoDruck
Dim printProp(4) as New com.sun.star.beans.PropertyValue
printProp(0).Name = "Pages"
printProp(0).Value = "1-2"
printProp(1).Name = "CopyCount"
printProp(1).Value = 1
printProp(2).Name = "PaperOrientation"
printProp(2).Value = PORTAIT
printProp(3).Name = "PaperFormat"
printProp(3).Value = A5
myDoc=ThisComponent
myDoc.Print(printProp())
wait 2500
myDoc.close(false)
end sub
ich habe den wait dafür eingebaut, daß der close nicht durchgeführt wird, bevor der druck abgeschlossen ist.
habe das makro erweitert.... es wartet nun maximal 9 Sekunden mit dem schließen des dokuments, was wohl reichen sollte.
die begrenzung auf 9 Sekunden habe ich gewählt, um keine endlosschleife zu provozieren.
Gruss eBayer
Global Sub AutoDruck
Dim nCnt As Integer
Dim myDoc As Object
Dim printProp(4) as New com.sun.star.beans.PropertyValue
printProp(0).Name = "Pages"
printProp(0).Value = "1-2"
printProp(1).Name = "CopyCount"
printProp(1).Value = 1
printProp(2).Name = "PaperOrientation"
printProp(2).Value = PORTAIT
printProp(3).Name = "PaperFormat"
printProp(3).Value = A4
myDoc=ThisComponent
myDoc.Print(printProp())
for nCnt = 0 to 9
On Error Goto Weiter
wait 1000
myDoc.close(false)
exit for
Weiter:
next
end sub
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008