🍀 Bitte helfen Sie mit, das LibreOffice Forum zu erhalten. 🍀

❤️ DANKE >> << DANKE ❤️

Unterstützen Sie noch heute unsere Spendenkampagne für 2026.
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

python Dokumentwiederherstellung

Alles zur Programmierung im LibreOffice.
Antworten
gerderich
Beiträge: 30
Registriert: Sa 17. Mai 2014, 16:59

python Dokumentwiederherstellung

Beitrag von gerderich » Mi 18. Feb 2026, 18:17

Moin zusammen,
mit python öffne ich ein definiertes calc file. Das funktioniert ausgezeichnet mit

Code: Alles auswählen

        args = (PropertyValue(Name='Hidden', Value=False),PropertyValue(Name="MacroExecutionMode",Value=1),)
	path="/home/gerd/Dokumente/Sudeck/python_test.ods"
        docurl = uno.systemPathToFileUrl(path)
        desktop = context.ServiceManager.createInstanceWithContext(
			"com.sun.star.frame.Desktop", context)
        document = desktop.loadComponentFromURL(docurl,"_default",0,args)
        print ("calc dokument ist geladen!")
Schleißen des Dokumtes, beenden von Libreoffice und beenden des Scriptes mache ich mit

Code: Alles auswählen

     spreadsheet.close(True)
     sys.exit()
Auch das funktioniert.
Wenn ich das Dokument jetzt wieder öffne, erscheint der LO Dialog "Dokumentwiederherstellung" . Das Dokument wird aber fehlerfrei geladen und dahinter angezeigt.
Wie kann ich das Anzeigen des Dialoges verhindern. Augenscheinlich ist das Dokument ja in Ordnung. Aber:
Öffne ich das Dokument manuell, wird auch der Dialog angezeigt, das Dokument aber nicht.
Wo kann ich den Fehler finden?
Gruß
Gerd Erich

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2668
Registriert: Fr 10. Dez 2010, 10:01

Re: python Dokumentwiederherstellung

Beitrag von karolus » Do 19. Feb 2026, 00:57

Hallo
Den »desktop« initialisiere ich gewöhnlich mit

Code: Alles auswählen

    desktop = XSCRIPTCONTEXT.getDesktop()
bevor du die Datei schliesst möchtest du doch speichern?!

Code: Alles auswählen

    doc.store()
    doc.close(True)
und du möchtest mit ziemlicher Sicherheit NICHT:

Code: Alles auswählen

    sys.exit()
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten