Bericht drucken per Makro

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: Bericht drucken per Makro

Re: Bericht drucken per Makro

von Rantanplan » Fr, 26.09.2008 13:39

oReport.close(True)
funktioniert bei mir auch nicht.
So geht's aber:

Code: Alles auswählen

	oReports.dispose()
(ist bestimmt nicht die feine Englische Art)

OOo 2.4.0
OpenSuSE 11.0

Re: Bericht drucken per Makro

von nusta88 » Di, 29.07.2008 14:02

So habe jetzt das Drucken hinbekommen, indem ich den Bericht öffne. Allerdings möchte ich jetzt den Bericht nachdem der Druckbefehl übergeben wurde wieder schließen. Der nimmt den Befehl nicht an.

Hat jmd da einen Lösungsvorschlag

Code: Alles auswählen

Sub Bericht_drucken2

oContexto = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oFonte = oContexto.getRegisteredObject("HV")
oReports = oFonte.DatabaseDocument.ReportDocuments
oAConnection = oFonte.getConnection("","")

Dim pProp(1) As New com.sun.star.beans.PropertyValue
pProp(0).Name = "ActiveConnection"
pProp(0).Value = oAConnection
pProp(1).Name = "OpenMode"
pProp(1).Value = "open"

oReport = oReports.loadComponentFromURL("Kunde", "_blank", 0, pProp())
Props = oReport.getPrinter()
sDrucker = Props(0).value               
Dim arg(1) as new com.sun.star.beans.PropertyValue   
arg(0).name = "Name"					
arg(0).value = "<" & sDrucker & ">"   	
arg(1).name = "Wait"					
arg(1).value = True						
'oReport.print(arg())
If HasUnoInterfacees(oReport,"com.sun.star.util.XCloseable")then
oReport.close(True)
EndIF	
Danke schonmal

Re: Bericht drucken per Makro

von komma4 » Fr, 25.07.2008 13:59

ich habe noch nicht mit Berichten gearbeitet....

Tipp: nehme Xray zur Untersuchung Deiner Objekte.

Viel Erfolg!

Re: Bericht drucken per Makro

von nusta88 » Fr, 25.07.2008 11:48

Also ich hab es weiter bearbeitet :

Code: Alles auswählen

sub Bericht_drucken
DatabaseContext=createUnoService("com.sun.star.sdb.DatabaseContext")
oDatenquelle = DatabaseContext.getByName("HV")
oDoc = oDatenquelle.DatabaseDocument
oBericht = oDoc.getReportDocuments().getByName("Kunde")
oBerichtDoc = oBericht.getComponent
Props = oBerichtDoc.getPrinter()
sDrucker = Props(0).value               
Dim arg(1) as new com.sun.star.beans.PropertyValue   
arg(0).name = "Name"					
arg(0).value = "<" & sDrucker & ">"   	
arg(1).name = "Wait"					
arg(1).value = True						
oBerichtDoc.print(arg())				
End sub
jetzt bekomme ich einmal bei

Code: Alles auswählen

Probs = oBerichtDoc.getPrinter
und wenn bei

Code: Alles auswählen

oBerichtDoc.print(arg())
eine Fehlermeldung, dass die Objektvariable nicht belegt ist.

OO Version 3.0 Beta
Windows XP SP 2

Re: Bericht drucken per Makro

von komma4 » Fr, 25.07.2008 11:23

welche OOo Version? Betriebssystem?
Welche Fehlermeldung, an welcher Stelle?

Bericht drucken per Makro

von nusta88 » Fr, 25.07.2008 10:59

Hallo,

ich hab versucht selbst das Problem zu lösen, allerdings bekomme ich grundsätzlich Fehlermeldungen.

Ich zeige euch mal den Code und bitte um Hilfe

Code: Alles auswählen

sub Bericht_drucken
Dim arg(1) as new com.sun.star.beans.PropertyValue
DatabaseContext=createUnoService("com.sun.star.sdb.DatabaseContext")
oDatenquelle = DatabaseContext.getByName("HV")
oDoc = oDatenquelle.DatabaseDocument
oBericht = oDoc.getReportDocuments().getByName("Kunde")
oBerichtDoc = oBericht.getComponent
oBerichtDoc.print(arg())
End sub
Danke im Voraus

Nach oben