Zwischenspeichern nicht nur als Wiederherstellung...

Das Textverarbeitungsprogramm

Moderator: Moderatoren

desputin
***
Beiträge: 73
Registriert: Fr, 08.08.2008 12:35

Zwischenspeichern nicht nur als Wiederherstellung...

Beitrag von desputin »

Hallo,

Openoffice ist mal wieder abgestürzt, OHNE die Wiederherstellungsinformationen gespeichert zu haben, die eigentlich alle 5 Minuten erstellt werden sollten laut Optionen !!!

Das ist wirklich ärgerlich, 1 Stunde Arbeit weg!

Weiß hier jemand Bescheid, wie man OpenOffice (3) dazu zwingen kann, alle X Minuten RICHTIG abzuspeichern? Also nicht nur die Wiederherstellungsinformationen, sondern Datei- Speichern, aber automatisch?

Viele Grüße Christopher
desputin
***
Beiträge: 73
Registriert: Fr, 08.08.2008 12:35

Re: Zwischenspeichern nicht nur als Wiederherstellung...

Beitrag von desputin »

Dagegen sprich leider, daß man erfahrungsgemäß Strg-s in 90% der Fälle hin und wieder drückt und dann in 10% der Fälle vergißt man das über einen Zeitraum von 30 Minuten oder so und schwupps weg... Menschliches Versagen eben. Deshalb haben wir ja technische Automatismen um das auszuschließen.

Kann ich das Makro einfach so aufnehmen, wenn ich speichere... ? Wie kann man ein Makro so einstellen, daß es alle X minuten durchgeführt wird?

Gruß Christopher
desputin
***
Beiträge: 73
Registriert: Fr, 08.08.2008 12:35

Re: Zwischenspeichern nicht nur als Wiederherstellung...

Beitrag von desputin »

http://www.oooforum.org/forum/viewtopic.phtml?t=27857

Hier scheint jemand das selbe Problem gehabt zu haben. Ohne befriedigende Lösung.

Tja, openOffice. Das ist jetzt echt Mist. Typisch mal wieder für Programmierer, die keine Ahnung haben, oder die es einfach nicht interessiert, was der Nutzer möchte... [Fast so schlimm wie die Gimp-Entwickler, die seit Jahren beim Fenstermanagement versagen :)]
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Zwischenspeichern nicht nur als Wiederherstellung...

Beitrag von Karolus »

Hallo
Ungetestet:

Code: Alles auswählen

sub autospeicher
do
	thiscomponent.store
	wait 60000 'eine Minute
loop
Das würde dann im Hintergrund immer mitlaufen und evtl OOo etwas ausbremsen,und funktioniert erst dann wenn ein Dokument einmalig gespeichert wurde.

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)
keksler
**
Beiträge: 20
Registriert: Di, 31.05.2005 12:50

Re: Zwischenspeichern nicht nur als Wiederherstellung...

Beitrag von keksler »

Dieses Makro funktioniert bei mir für Writer (odt/doc) und Impress (odp/ppt), jedoch nicht für Calc. Daher leicht OT: Wie muss man den Code abändern, um komplettte Arbeitsmappen speichern zu können?

P.S.: Sofern man noch nicht gespeichert hat, bekommt man beim Befehl "thiscomponent.store" die Fehlermeldung:

BASIC-Laufzeitfehler.
Es ist eine Exception aufgetreten
Type: com.sun.star.task.ErrorCodeIOException
Message: .

Wollte ich nur nochmal für alle angeben, die ähnlich schlampig wie ich lesen :)
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Zwischenspeichern nicht nur als Wiederherstellung...

Beitrag von turtle47 »

keksler hat geschrieben:P.S.: Sofern man noch nicht gespeichert hat, bekommt man beim Befehl "thiscomponent.store" die Fehlermeldung:
Die Fehlermeldung kann man mit folgendem Code abfangen:

Code: Alles auswählen

Sub autospeicher
odoc = thisComponent
do
if oDoc.Url = "" Then
msgbox "Das Dokument ist noch nicht unter einem Namen abgespeichert worden!", 48, "Fehler Autospeichern"
exit sub
end if
oDoc.store
wait 60000 'eine Minute
loop
End Sub
keksler hat geschrieben:jedoch nicht für Calc.
Wieso nicht, kannst Du das begründen?

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
keksler
**
Beiträge: 20
Registriert: Di, 31.05.2005 12:50

Re: Zwischenspeichern nicht nur als Wiederherstellung...

Beitrag von keksler »

Hallo Jürgen,

ich habe folgendermaßen getestet:
Nach der angegebenen Wartezeit habe ich den s*.bin-Prozess über den System-Monitor abgeschossen. Danach habe ich das Dokument wieder geöffnet und die Wiederherstellung abgebrochen.

Dies hat, wie beschrieben, für Writer und Impress im Eigen- und Fremdformat funktioniert. Für Calc geht es jedoch, auch mit deinem Code, nicht, d.h. die zwischenzeitlich eingegebenen Zellinhalte tauchen nicht auf. Deinen Code habe ich gerade eben nochmal mit Writer im doc-Format getestet. Läuft ohne Probleme und ist sauber abgefangen. Vielen Dank!

P.S.: Ich bin völlig unbewandert in Basic und habe festgestellt, dass ein erneutes Drücken des Buttons für das Makro (war mir nicht mehr sicher, ob ich es aktiviert habe) ein Flackern (Race-Condition?) im Bereich Schriftart und -größe auslöst. Ist das normal bzw. kann man das auch abfangen?
keksler
**
Beiträge: 20
Registriert: Di, 31.05.2005 12:50

Re: Zwischenspeichern nicht nur als Wiederherstellung...

Beitrag von keksler »

Vielleicht mache ich auch was beim Testen falsch: Ich schreibe eine Zahl in die Zelle A1 und speichere. Danach starte ich das Makro und schreibe eine andere Zahl in die Zelle B2. Nach über einer Minute schieße ich den Prozess ab.

Das habe ich sowohl in der Kombination Linpus-Linux (Acer Aspire One, Fedora-8-Derivat)/OOo 2.3 als auch WinXP/OOo 3.0 ausprobiert. Das Ergebnis war wie oben beschrieben.
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Zwischenspeichern nicht nur als Wiederherstellung...

Beitrag von turtle47 »

Hi Keksler,
keksler hat geschrieben:Für Calc geht es jedoch, auch mit deinem Code, nicht, d.h. die zwischenzeitlich eingegebenen Zellinhalte tauchen nicht auf
Ich habe Deine beschriebene Vorgehensweise nachgestellt und kann obiges nicht bestätigen.
Wenn das Dokument durch das Makro gespeichert wird, dann wird das in der oberen Symbolleiste gezeigte blaue Diskettensymbol nicht mehr anklickbar, dass heisst, das Dokument ist ordnungsgemäss gespeichert.

Also achte mal auf das Diskettensymbol ob sich das bei einer Eingabe und anschliessendem Speichern verändert.

Wenn du sichergehen möchtest dann kannst Du auch testweise mal folgenden Code verwenden. Es wird Dir dann immer angezeigt wenn das Dok gespeichert wurde. Die MsgBox musst Du dann allerdings mit klick auf "OK" entfernen.
Das Makro läuft dann aber immer noch weiter und die MsgBox taucht immer wieder auf.

Code: Alles auswählen

Sub autospeicher
odoc = thiscomponent
do
if oDoc.Url = "" Then
msgbox "Das Dokument ist noch nicht unter einem Namen abgespeichert worden!", 48, "Fehler Autospeichern"
exit sub
end if
odoc.store
wait 60000 'eine Minute
msgbox "Dokument wurde gespeichert"
loop
End Sub
Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Antworten