Seite 1 von 1

Mit Makro Bericht schliessen

Verfasst: Di, 13.01.2015 00:20
von MaLe
Hallo OpenOffice Forum,

Ich möchte in einem Makro einen Bericht schliessen.
Mit
ThisDatabaseDocument.ReportDocuments.getByName("Report").open
kann ich diesen öffnen aber mit
ThisDatabaseDocument.ReportDocuments.getByName("Report").close
nicht mehr schliessen.

Bei den Formularen geht es Problemlos mit
ThisDatabaseDocument.FormDocuments.getByName("Formular").open
ThisDatabaseDocument.FormDocuments.getByName("Formular").close

Was mache ich falsch, verwende
OpenOffice 4.1.1 Base
Oracle Report Builder 1.2.1

Gruss
MaLe

Re: Mit Makro Bericht schliessen

Verfasst: Di, 13.01.2015 19:15
von RobertG
Hallo MaLe,

Du kannst einen einmal erstellten Bericht nicht von dem Formular aus schließen, weil der Bericht nicht mehr für die Base-Datei erreichbar ist. Er wird schließlich unabhängig als temporär gespeicherte Datei erstellt. Du kannst sehr wohl mit einem Makro das Fenster schließen, das zum Reportbuilder beim Bearbeiten eines Berichtes gehört.
Dass zwischen dem ausgeführten Bericht und der *.odb-Datei keine Verbindung mehr existiert kannst Du auch dadurch heraus bekommen, indem Du einfach einmal einen Berichts fertig ausführst, den Bericht nicht schließt aber die Datenbankdatei schließt. Der Bericht bleibt stehen. Bei einem Formular, Deinem Vergleichbeispiel, würde das Formular mit der Base-Datei geschlossen.

Gruß

Robert

Re: Mit Makro Bericht schliessen

Verfasst: Di, 13.01.2015 20:43
von MaLe
Hallo Robert

Vielen Dank für die Ausführung, hab es gleich geprüft.
Schade, ich wollte eigentlich den Bericht erstellen lassen (was ja einwandfrei funktioniert), anschliessend ein PDF erstellen/speichern und den Bericht wieder schliessen.
Das mit der PDF Erstellung funktioniert auch aber jetzt bleibt mir die .odt offen und die möchte ich auch noch schliessen.

Hast Du eine Idee wie das zu machen ist?

Gruss
MaLe

Re: Mit Makro Bericht schliessen

Verfasst: Di, 13.01.2015 21:56
von RobertG
Hallo MaLe,

schau Dir einmal die überarbeitete Fassung des Handbuches an: http://robert.familiegrosskopf.de/lo_hb_dev/
In dem Kapitel "Makros" wirst Du fündig. Da ist ein Makro drin, mit dem ein Bericht geöffnet wird, die Zeilen alle auf automatische Höhe eingestellt werden, der Bericht gedruckt und anschließend geschlossen wird. Ist heir etwas lang zu posten.
Überschrift: Start, Formatierung, direkter Druck und Schließen des Berichts

Gruß

Robert

Re: Mit Makro Bericht schliessen

Verfasst: Mi, 14.01.2015 08:32
von MaLe
Hallo Robert

Vielen Dank für den Link zur überarbeitete Fassung des Handbuchs, es hat mir sehr geholfen!

Das mit der automatischen Zeilenhöhe konnte ich bei mir nicht nachvollziehen, denke das kommt, dass mein Bericht mit dem Oracle Report Builder erstellt wurde und dieser nicht im Berichtsentwurfmodus geöffnet wird.

Um einen Bericht zu öffnen, ein PDF zu generieren und anschliessend den Bericht wieder zu schliessen haben ich folgende Prozedur:

DIM oRptInvoice AS OBJECT
DIM oReportView AS OBJECT
Dim ReportPDFProperties(0) as New com.sun.star.beans.PropertyValue
oReportPDFPath = "E:\Konvertierungs Ergebnisse\Test3\PDF\"
oReportPDFFilename = "Report_Test"
oReportPDFFilenameExtension = ".pdf"
oReportPDFURL = converttourl(oReportPDFPath + oReportPDFFilename + oReportPDFFilenameExtension)
oReport = ThisDatabaseDocument.ReportDocuments.getByName("Report").open
oReportView = oReport.CurrentController.Frame.ContainerWindow
oReportView.Visible = False
ReportPDFProperties(0).Name = "FilterName"
ReportPDFProperties(0).Value = "writer_pdf_Export"
oReport.storetoUrl(oReportPDFURL,ReportPDFProperties())
oReport.close(true)

Vielen Dank Robert, die Handbücher sind eine grosse Hilfe!

Gruss
MaLe

Re: Mit Makro Bericht schliessen

Verfasst: Mi, 14.01.2015 13:05
von RobertG
Hallo Male,

bei der automatischen zeilenhöhe geht es darum, dass die durch den Report-Bulilder eingefügten Boxen ja starr formatiert sind. Passte text nicht mehr rein, so wird stattdessen ein rotes Dreieck angezeigt, das künstlich nachbearbeitet werden muss. Mit dem Makro, das Lionel dafür bei einem Bugreport hinterlegt hat, wird die Höhe anschließend nach der Erstellung so korrigiert, dass sämtlicher Text angezeigt wird. Sollte das nicht funktionieren, so bitte ich um Rückmeldung.

Gruß

Robert

Re: Mit Makro Bericht schliessen

Verfasst: Mi, 14.01.2015 18:37
von MaLe
Hallo Robert

Vielen Dank für die Erleuterung.
Super dann kann ich also mit dem Makro praktisch dynamische Boxen im Report Builder machen.

Ich werde das mal versuchen.

Gruss
MaLe