Printing Reports from BASE

I have a report run from a push button on a menu form. I can print it from the screen, but in Access I was able to program a push button to print id directly. Is this possible in BASE? I cannot find any reference to this.

Regards

Peter Goggin

Hi Peter,

A macro similar to this should do what you want -

Sub PrintReport()
        ThisDatabaseDocument.ReportDocuments.getbyname("<name of your

").open()

End Sub

Then edit your Menu form, double click on the Print button and under Events

'Mouse button pressed', link the button to the PrintReport() sub. Then

when you run your application, clicking on the button should fire your
report.

Noel

Thanks for the suggestion. However all the subroutine does is display the report on the screen. I want to be able to send it to the printer without first displaying it on the screen. So far I cannot see any reference on how to doi this.

Regards

Peter Goggin

Hi Peter

just another proposal:

sub printreport()

Dim oDoc as Object
Dim arg(0) as new com.sun.star.beans.PropertyValue

oDoc=ThisComponent
arg(0).name = "Name"
arg(0).value = "<" & "myprinter" & " >"
oDoc.printPages(arg())
end sub

Yours
Walther

Can this be extended to Writer document, eliminating the requirement of opening Writer and selecting 'Print'?

Are you asking if it is possible to use a macro to open a document and then print it?

Yes, that seems correct.

I expect something like this to print the document

ThisComponent.printPages(Array())

Of course, you need to load it first so you would likely have something like

oDoc = StarDesktop.loadComponentFromURL( "URL_OF_THE_DOCUMENT", _

"_blank", 0, Array() )

And then print the oDoc

I did not try this, but it should work. Also, don't just close the document

Thanks

I'll see what I can do.