Seltsames Druckverhalten

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Seltsames Druckverhalten

von Stephan » Sa, 20.05.2006 18:07

ykcim hat geschrieben:Ich glaube ich sollte mal Urlaub machen.
Den Bug habe ich schon selber mal entdeckt:

http://www.starbasicfaq.de/Warumwirdder ... fhrt..html
:D

Ich habe es aus Pitonyak's Buch Seite 258.


Gruß
Jörg

von ykcim » Sa, 20.05.2006 17:53

Ich glaube ich sollte mal Urlaub machen.
Den Bug habe ich schon selber mal entdeckt:

http://www.starbasicfaq.de/Warumwirdder ... fhrt..html

mfg
Michael

von Stephan » Sa, 20.05.2006 16:05

Ja, kann ich (2.0.2 unter Win2k)

Ein:

Code: Alles auswählen

Wait 1000
hilft statt der Msg-Box.

Meine Erklärung ist etwas wage, aber gehe davon aus das der Drucker wohl einen kurzen Moment braucht den Druckauftrag anzunehmen und in dieser Zeit keine Befehle entgegennimmt. Ich glaube aber nicht mal das es sich um die Zeit zum 'spoolen' handelt ohne es überprüft zu haben.

Naja, abenteuerliche Begründung.

die IDL-Referenz sagt bzgl. der Wait-Eigenschaft(s.u.):
"...
@attention Using of this property with TRUE as value is highly reommended. Otherwhise following actions (as e.g. closing the corresponding model) can fail.
..."


Lösung ist:

Code: Alles auswählen

sub kopiendrucken 
     mydoc=thiscomponent 
     Dim printProp(1) as New com.sun.star.beans.PropertyValue 
     printProp(0).Name = "CopyCount" 
     printProp(0).Value = 1 
     printProp(1).Name = "Wait" 
     printProp(1).Value = True 
     myDoc.Print(printProp()) 
     mySheet = myDoc.sheets(0) 
     mycell = mysheet.getCellRangeByName("$A$1") 
     mycell.string = "Rechnungskopie" 
     printProp(0).Name = "CopyCount" 
     printProp(0).Value = 3 
     'msgbox("Kopien werden gedruckt") 
     myDoc.Print(printProp()) 
end sub


Gruß
Stephan

Seltsames Druckverhalten

von ykcim » Sa, 20.05.2006 14:18

Hallo,

ich habe in einem anderen Forum jemanden helfen wollen und bin dabei auf ein erstmal ein Problem gestoßen.
Folgendes Makro soll eine Calc-Blatt drucken. Insgesamt vier mal, wobei die letzten drei Ausdrucke einen anderen Inhalt in einem Feld haben. Eigentlich einfach. Aber die Kopien werden bei mir nur gedruckt wenn ich eine Messagebox vorschalte. Ansonsten kommt nur die erste Seite.

Code: Alles auswählen

sub kopiendrucken
     mydoc=thiscomponent
     Dim printProp(1) as New com.sun.star.beans.PropertyValue
     printProp(0).Name = "CopyCount"
     printProp(0).Value = 1
     myDoc.Print(printProp())
     mySheet = myDoc.sheets(0)
     mycell = mysheet.getCellRangeByName("$A$1")
     mycell.string = "Rechnungskopie"
     printProp(0).Name = "CopyCount"
     printProp(0).Value = 3
     msgbox("Kopien werden gedruckt")
     myDoc.Print(printProp())
end sub
Kann das jemand bestätigen?

mfg
Michael

Nach oben