Dateien nachträglich konvertieren?

Freut mich, dass wir am Ende eine Lösung haben. Zu Deinen Fragen, die eigentlich nicht mehr LO-bezogen sind, nur ein paar Hinweise: Die Such- und Sortierfunktionen vom Windows-Explorer sollten das für Dich lösen können. Suche nach *.xlsx ODER *.ods sollte eine Liste aller Dateien liefern, Klick auf die Spalte Name sortiert die xlsx und ods hintereinander - da wo nur eine xlsx auftaucht, hast Du es mit einer Deiner kennwortgeschützten Dateien zu tun. Löschen aller *.xlsx geht dann ähnlich, halt nur *.xlsx suchen und die Trefferliste markieren, löschen. Natürlich kannst Du auch die kennwortgeschützten Datein konvertieren, nicht mit dem Script, aber nach wie vor manuell. Auch mit Calc bleibt der Kennwortschutz hinterher. Das Datum der konvertierten Dateien ist das Konvertierungsdatum, weil es sich dabei um neue Dateien handelt. Also: no Chance. Benenne halt für die Zukunft Deine Dateien einschließlich eines Datums á là ‘xxxx_20191006.ods’ um damit zukünftig diese Info zu erhalten.

Vielen Dank nochmals!

Dann fasse ich noch mal zusammen.

@anon73440385 , danke für den Ansatz, eine Konvertierung über die Konsole zu automatisieren.

jnanon@arcor.de , ich denke, diese ‘Anfangsentscheidung’ ist dahingehend geklärt, dass der Installationsassistent LibreOffice für alle Microsoft Office Dokumente zuständig macht. Kann man rückgängig machen, ist aber auf einem PC nur mit LO weder nützlich noch erforderlich, um zukünftig in erster Linie mit ODF-Dateien zu arbeiten. Auf das Handling von Dateien ‘aus zwei Welten’ ist Opaque schon einmal mehr ausführlich eingegangen.

Da es im Sinne der Fragestellung keinen Automatismus in LO gibt, ist eine mögliche Lösung die Konvertierung aller Microsoft Office Dokumente mit Hilfe eines Scriptes abseits von LO, in dem LibreOffice auf der Kommandozeile mit entsprechenden Parametern aufgerufen wird. (Um nicht jede Datei einzeln manuell öffnen und mit ‘Speichern unter’ als konvertierte ODF-Datei ablegen zu müssen.)

Wenn man dies verzeichnisweise angehen möchte, folgt hier eine mögliche Lösung:

Das Hauptscript (convert.cmd):

Forfiles /P "%cd%" /M *.xlsx /C "cmd /c loconvert_ods.cmd @file"
Forfiles /P "%cd%" /M *.xls /C "cmd /c loconvert_ods.cmd @file"
Forfiles /P "%cd%" /M *.docx /C "cmd /c loconvert_odt.cmd @file"
Forfiles /P "%cd%" /M *.doc /C "cmd /c loconvert_odt.cmd @file"
Forfiles /P "%cd%" /M *.pptx /C "cmd /c loconvert_odp.cmd @file"
Forfiles /P "%cd%" /M *.ppt /C "cmd /c loconvert_odp.cmd @file"
REM pause

Hilfsscripte:
(loconvert_ods.cmd)

"C:\Program Files (x86)\LibreOffice\program\soffice.exe" --convert-to ods %1

(loconvert_odt.cmd)

"C:\Program Files (x86)\LibreOffice\program\soffice.exe" --convert-to odt %1

(loconvert_odp.cmd)

"C:\Program Files (x86)\LibreOffice\program\soffice.exe" --convert-to odp %1

Es stecken ein paar Annahmen drin. Kennwortgeschützte Dateien können so nicht konvertiert werden. Das Script geht über diese Dateien schlicht hinweg. Solche Dateien müssen manuell konvertiert werden. Es gibt kein Log von den Scriptaktivitäten. Ebenso werden keine Rückgabewerte ausgewertet. Das Ergebnis muss also selbst geprüft werden.

Windows hat Probleme in einem Konsolenfenster (aka DOS-Box), mit Leerzeichen sowie Umlauten (allgemeiner: Sonderzeichen) in Pfaden und Dateinamen umzugehen. Deshalb funktioniert das ganze nur, wenn die cmd-Scripte in das zu konvertierende Verzeichnis gestellt und dort gestartet werden. Falls es nicht wie gewünscht läuft, kann man das ‘REM’ vor pause entfernen und die Ausgabe prüfen.

Das Dateidatum der zu konvertierenden Datei bleibt nicht erhalten, da die konvertierte Datei eine neue, in dem Moment erstellte Datei ist.

Alle ursprünglichen Microsoft Office Dateien bleiben unverändert erhalten. Sicherung, Archivierung, Bereinigung usw. müssen dann auf anderem Wege erledigt werden.

Wer nur bestimmte MS Office-Dokumenttypen konvertieren möchte, müsste die entsprechenden Zeilen im Hauptscript belassen und den Rest auskommentieren (REM davor setzen) oder löschen.

Dieses Set ist auf Windows 32/64 Bit und LibreOffice 32 Bit ausgerichtet. Der Pfad “C:\Program Files (x86)\LibreOffice\program\soffice.exe” lautet ansonsten für das 64-Bit LO “C:\Program Files\LibreOffice\program\soffice.exe”.

Testweise sieht das Ergebnis so aus:

Cookievore

jnanon@arcor.de Bitte markiere diese Antwort als die korrekte. @Cookievore hat Dir hier geholfen und daher gebühren ihm auch die Karmapunkte,

Es geht viel einfacher, als mit einem komplizierten Skript!

Im Menü unter “Datei” > “Assistenten” > “Dokument-Konverter” findet man alles, was man braucht. Da kann man Office Dokumente ganz einfach per Assistent konvertieren und das auch noch über alle Unterverzeichnisse hinweg. Es geht für Word, Excel und Powerpoint Dateien sowie deren Templates.

Man kann also ein relativ “hohes Verzeichnis” eingaben, also am Anfang der Ordnerstruktur und der Assistent geht alle darunter liegenden Verzeichnisse durch und konvertiert ins Libre-Format.

Ohne Batch, ohne alles - ganz einfach!

Hallo - sehr guter Hinweis, allerdings muss man dann auch auf diese Seite verweisen. Da gibt es eine Einschränkung auf die alten MS Office Dokument-Formate (.doc, .xls, .ppt) und OP spricht in der Frage explizit von .xlsx.

Danke für die Klärung, die Einschränkung auf das alte Format hatte ich tatsächlich übersehen!

Funktioniert aber inzwischen auch mit xlsx, docx und pptx, steht nur (noch) nicht in der Doku. Vorhin probiert. Nur die versprochene Log-Datei klappt nicht. Man könnte noch einwenden, dass es nicht selektiv für alt / neu ist. Wenn Word spezifiziert wird, dann gleich doc und docx zusammen. Den Assistenten kannte ich nicht (logisch, sonst hätte ich mir die Mühe mit dem Script nicht gemacht). Danke auch von mir für den Hinweis.

Bei mir hat auch die Log-Datei funktioniert. Man kann es im Dialog wählen oder abwählen.
Dateien mit Kennworten werden auch hier ohne Hinweis übergangen. Aber sie werden im Logfile auch nicht als konvertiert gelistet. Auch ich bedanke mich für den Hinweis auf den Assistenzen. Diese Lösung ist natürlich bei weitem angenehmer.