Seite 1 von 1

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

Verfasst: Sa, 02.10.2010 15:24
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

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

Verfasst: Sa, 02.10.2010 16:03
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

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

Verfasst: Sa, 02.10.2010 16:48
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

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

Verfasst: Sa, 02.10.2010 17:25
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

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

Verfasst: Sa, 02.10.2010 20:21
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.