Datei schließen aber Code bis zu Ende ausführen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Datei schließen aber Code bis zu Ende ausführen

Beitrag von clag »

Hallo Kenner und Könner,

in/an einer Datei erstellt aus einer Vorlage hängt ein Makro,
dieses Makro soll die Datei speichern schließen und umgehend wieder öffnen.

Das tut es aber nicht, weil scheinbar mit schließen der Datei das Makro abgebrochen wird,
es wird, jedenfalls sieht es so aus, der Code der nach dem "close" kommt nicht weiter ausgeführt.
Obwohl ich an anderer Stelle gelesen hatte, das Makro wird zur Ausführung komplett ins RAM geladen
und ich hatte nun die Hoffnung, das Makro würde bis zum Ende ausgeführt werden.

Wenn das ein Trugschluss ist, wie könnte ich es erreichen, dass die Datei wieder geladen wird ?
(der Name der Datei wir erst im Verlauf des schließenden Makro generiert)

Und stimmt meine Vermutung, dass mit schließen der Datei der daraus gestartete Code gezielt beendet wird ?

Danke für's lesen
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Datei schließen aber Code bis zu Ende ausführen

Beitrag von Karolus »

Hallo
Ich weiß nicht wozu du eine Datei speichern und umgehend wieder öffnen willst...aber vielleicht hilft dir ja schon Michael?

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datei schließen aber Code bis zu Ende ausführen

Beitrag von clag »

Hi Karolus,

Danke für die schnelle Antwort,
wenn ich jetzt behaupten würde das mit dem speichern exportieren und öffnen hätte ich im Griff wäre es sicher maßlos übertrieben,
aber eine Codezeile die das tut bekomme ich dank eure unermüdlichen Hilfe inzwischen zusammen :)

Hier ging es mir mehr darum ob es möglich ist den "Rest-Code nach dem schließen fertig auszuführen"
oder ob mit dem schließen der das Makro tragenden Datei alles gestoppt wird, Variablen entfernt werden usw
Es war eher ein Versuchsballon
Wenn ich das Makro aus der Standard Bibliothek laufen lasse ist soweit alles ok
Das schließen und starten dient der Bereinigung der Reste in der Draw-Page (das geht bestimmt besser)

Letztlich ist es mein Ziel, das Makro an die Vorlage zu knüpfen die es steuert und der allerletzte Schritt im Makro
ist es ein neues leeres Dokument aus dieser Vorlage zu erstellen.
im groben so:
Daten ins Dokument einfügen
durch das Makro bearbeiten
alle Schaltflächen löschen
"Unbenannt" speichern als neuername.odt
neuername.odt schließen
(also DrawPage bereinigen) aber hier ist jetzt Schluss und das laden wird nicht mehr ausgeführt
neuername.odt laden
neuername.odt export nach PDF
neuername.odt export nach TXT
neuername.odt vom Makro befreien
neuername.odt schließen

letzte Zeile Code

Code: Alles auswählen

url = sUserPath & "\template\html-import-1.ott"
oDocument = StarDesktop.loadComponentFromURL(url, "_blank", 0, myProp() )
diese letzten Zeilen werden im Moment leider nicht mehr ausgeführt. (wenn das Makro an der aktiven Datei hängt)

Ich habe jetzt die Vermutung das der Code mit dem schließen der Datei gezielt gestoppt und aus dem Speicher entfernt wird ??
Dann müsste ich mir ein andere Vorgehensweise ausdenken und schließen muss der letzte Code sein
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Datei schließen aber Code bis zu Ende ausführen

Beitrag von Karolus »

Hallo
Hast du dir die verlinkte Seite mal angeschaut oder geht es dir nur um die akademische Frage : Wie kann ich OOo dazu überreden Makrocode eines Dokumentes nach Schliessen desselben auszuführen ?

→Extras →Anpassen →"Ereignisse" → Dokument geschlossen ?

Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datei schließen aber Code bis zu Ende ausführen

Beitrag von clag »

Hallo Karolus,

den Link hatte ich verfolgt und die Seite gelesen aber dort geht es um die Standard Prozedur speichern/exportieren oder habe ich etwas übersehen :(

Ja klar die erste Frage ist kann man überhaupt Code so wie beschrieben ausführen, und wenn das mit ja beantwortet wird, ist die nächste Frage wie ?
Wenn du mir als StarBasic Erfahrener sagst nein das geht nicht,. ist das Thema durch und ich muss mir einen anderen Weg suchen.

Das Ziel ist ganz praktisch.
Ich möchte dieses Makro mit der Vorlage speichern so das der Code nur erreichbar ist wenn auch die Vorlage geladen ist.
Da der Code nur für das erstellen der Datei benötigt wird, sollen alle Hilfsmittel wie Buttons und Code aus dem zu speichernden Dokument entfernt werden.

Meine Eingangsfrage resultiert daraus, dass ich hier einmal eine Antwort bekommen habe die mir suggeriert hat MakroCode könnte auch ohne das Dokument ausgeführt werden weil komplett in den Arbeitspeicher geladen wird, und nun bin ich am knobeln ist es oder ist es nicht möglich.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten