Bug des Monats: LibreOffice hält leere Docx-Datei für HTML-Datei

  • Allgemein

  • HotPi
  • 2830 Aufrufe 0 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bug des Monats: LibreOffice hält leere Docx-Datei für HTML-Datei

    Bug des Monats: LibreOffice hält leere Docx-Datei für HTML-Datei
    Dieser Bug bewirkt, dass Word-Anwender manche «docx»-Dateien von LibreOffice-Usern nicht öffnen können. Wir haben einen Workaround parat.
    von Gaby Salvisberg 15.02.2019

    Viele Nutzer arbeiten lieber mit LibreOffice als mit Microsoft Office, auch wenn ihnen das Microsoft'sche Büropaket zur Verfügung stünde. In diesem Zusammenhang ist uns ein merkwürdiger Bug mit höchst unerwünschten Nebenwirkungen aufgefallen.

    In den meisten Unternehmen hat sich Microsofts «Open XML»-Format als Standarddateiformat durchgesetzt. Das bedeutet, dass man auch als LibreOffice-Nutzer die Dateien mit Vorteil im .docx-Format erstellt. Der LibreOffice Writer (das Pendant zu Word) kommt mit diesem MS-Word-Format eigentlich gut klar und kann problemlos in diesem Format speichern. Es sei denn, Sie stolpern über diesen Bug.

    Bug ist einfach reproduzierbar

    Wenn Sie im Datei-Explorer oder auf dem Desktop mit rechter Maustaste klicken, finden Sie unter dem Kontextmenü-Befehl Neu verschiedene Dateitypen, die Sie erstellen könnten. So auch Microsoft Word-Dokument. Tippen Sie einen Namen ein. Es entsteht auch erwartungsgemäss eine Datei mit Endung .docx.
    Öffnen Sie diese Datei in LibreOffice und tippen Sie etwas Text ein; ein paar Buchstaben reichen. Nun schlägt der Bug erstmals zu: Wenn Sie diese Datei speichern, erscheint eine Rückfrage, die nur das Speichern als HTML-Datei oder als ODF-Datei anbietet. Keine Spur des ursprünglich via Rechtsklick und Neu ausgewählten Word-Formats «docx»!

    Im ursprünglich beabsichtigten .docx-Format können Sie die Datei in diesem Fall nur speichern, indem Sie das Rückfragefenster übers X oben rechts schliessen und im nächsten Fenster beim «Dateityp» den Eintrag Word 2007-2019 (*.docx) auswählen.

    Das Problem tritt übrigens nicht auf, wenn Sie erst den Writer starten und aus diesem heraus eine neue Datei als .docx speichern.

    Bug-Auswirkung wird noch schlimmer

    Im oben beschriebenen Fall bekommen Sie es wenigstens noch mit, wenn der Writer zum falschen Dateityp greift. Es kann aber sein, dass Sie von dem Dateitypen-Durcheinander überhaupt nichts mitbekommen, bis sich der Empfänger einer «defekten» Datei bei Ihnen meldet.

    LibreOffice bietet die Option, unter Extras/Optionen/Laden/Speichern/Allgemein bei «Immer speichern als» das Word-Format .docx als Standard anzugeben. Ausserdem lässt sich an derselben Stelle (leider) auch die «Rückfrage, wenn nicht im ODF- oder Standardformat gespeichert wird» deaktivieren. Das hat in Kombination mit obigem Bug eine üble Nebenwirkung: Die Rückfrage unterbleibt, die Datei behält die Endung .docx, aber der Dateiinhalt ist eigentlich HTML. Und was Word damit macht, wenn der Empfänger des Dokumentes die Datei zu öffnen versucht, sehen Sie im nachfolgenden Screenshot. Word meint, die Datei könne nicht geöffnet werden, weil der Inhalt Probleme verursache.

    Word könnte mit HTML-Dateien durchaus umgehen. Aber es sieht nur die Endung .docx, findet darin aber nichts, was wie .docx aussieht – und bricht mit Fehlermeldung ab. Das Dokument lässt sich erst betrachten, wenn man die Endung in .html ändert oder wenn man die Datei wieder im Writer öffnet, um sie von dort aus manuell via Datei/Speichern unter als .docx zu speichern.


    Nun zum Workaround

    Wir vermuten, dass Windows bei Rechtsklick/Neu/Word-Dokument eine Art Miniatur-XML-Datei erzeugt, die LibreOffice wiederum für eine HTML-Datei hält.
    Ob es zu diesem «verunfallten» Zusammenspiel zwischen Windows und LibreOffice einen Bugfix geben wird (und ob dieser von Microsoft oder der Document Foundation zu liefern wäre), wissen wir nicht. Aber wir haben Tipps, wie Sie den Fehler umgehen können. Jetzt, da Sie die Problematik kennen, reicht Ihnen vielleicht schon Variante 1.

    Variante 1: Schalten Sie im LibreOffice Writer die Benachrichtigung wieder ein, die Sie darüber informiert, falls Sie nicht im bevorzugten Format speichern. Öffnen Sie im Writer Extras/Optionen/Laden/Speichern/Allgemein. Aktivieren Sie die Option Immer warnen, wenn nicht im ODF- oder Standardformat gespeichert wird und klicken Sie auf OK.

    Variante 2: Vielleicht nutzen Sie sehr oft den Rechtsklick in einem Ordner, um via Neu eine leere .docx-Datei zu erstellen. In diesem Fall wäre es lästig, wenn Sie trotzdem jede Datei nochmals explizit als .docx speichern müssten.

    Es gibt die Möglichkeit, via Registry-Eintrag eine Art Vorlagendatei für diesen Dateityp zu hinterlegen.

    Erstellen Sie irgendwo einen Ordner für solche Vorlagen. In unserem Beispiel erzeugen wir in C:\Users\MeinName\Documents einen neuen Ordner namens SysVorlagen.
    Falls Sie die Wahl haben, starten Sie jetzt Microsoft Word. Lassen Sie die Datei leer. Gehen Sie zu Datei/Speichern unter und wählen Sie den Dateityp Word-Dokument (*.docx) aus. Mit diesem Vorgehen entsteht eine korrekte .docx-Datei. Benennen Sie die Datei beispielsweise Dateitypvorlage.docx und speichern Sie diese Datei im vorhin erzeugten Vorlagenordner. Schliessen Sie die Datei wieder.

    (Nebenbei: Alternativ können Sie die Datei auch im Writer erzeugen, indem Sie eine leere Datei mit dem Dateityp «Word 2007-2019 (*.docx)» speichern. In diesen Fällen wird Word aber später den Kompatibilitätsmodus verwenden, weil es eine Datei nach älterem .docx-Standard ist.)

    Wir haben nun also etwa eine solche Datei:

    C:\Users\MeinName\Documents\SysVorlagen\Dateitypvorlage.docx

    Jetzt müssen Sie Windows nur noch dazu bringen, diese Datei als Vorlage zu verwenden, wenn Sie via Rechtsklick und Neu eine Docx-Datei erzeugen wollen. Das geht fix mit den folgenden Schritten.

    Starten Sie via Windowstaste+R und Eintippen von regedit den Registierungseditor. Bestätigen Sie allenfalls die Windows-Rückfrage. Navigieren Sie in der linken Spalte zu diesem Zweig:

    HKEY_CLASSES_ROOT\.docx

    Klappen Sie die Unterzweige auf. In einem davon muss ein Zweig namens ShellNew stecken, normalerweise hier:

    HKEY_CLASSES_ROOT\.docx\Word.Document.12\ShellNew

    Klicken Sie den Unterzweig ShellNew an. In der rechten Fensterhälfte gibts nun einen Rechtsklick, gefolgt von Neu/Zeichenfolge. Benennen Sie den Eintrag mit FileName.
    Doppelklicken Sie den neuen Eintrag FileName und tragen Sie im «Wert»-Feld den genauen Pfad zur Vorlagendatei ein. Bei uns wäre das etwa dieser, bei Ihnen heisst er wohl anders:

    C:\Users\gsal\Documents\SysVorlagen\Dateitypvorlage.docx

    Das ist schon alles! In Zukunft wird Windows die .docx-Datei aufgrund dieser Vorlagendatei erzeugen, die auch inhaltlich als .docx- und nicht als HTML-Datei daherkommt.
    Falls eines Tages ein Fix kommt, können Sie den Workaround wieder entfernen. Löschen Sie hierfür die erzeugte Vorlagendatei und entfernen Sie den Eintrag FileName wieder aus dem Registry-Editor.


    Quelle: Bug des Monats: LibreOffice hält leere Docx-Datei für HTML-Datei