Laden...

In Word geöffnetes Dokument mit OpenXML manipulieren

Letzter Beitrag vor 11 Jahren 6 Posts 2.528 Views
In Word geöffnetes Dokument mit OpenXML manipulieren

Hallo zusammen

Bin gerade dabei, die ersten Schritte mit OpenXML zu wagen.

Wie ist es möglich ein Worddokument, das in Word geöffnet ist, mit OpenXml zu manipulieren?

Wenn ich mit

WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open(sDateiName, true);

ein geöffnetes Dokument ansprechen will, kommt die Fehlermeldung:
Der Prozess kann nicht auf die Datei "C:\Users\tecla_000\Documents\OpenXml test\zuio.docx" zugreifen, da sie von einem anderen Prozess verwendet wird.

Vielleicht mit anderen OpenSettings?

Ziel wäre es eigentlich, ein WordAddin zu erstellen, das die Manipulationen mit OpenXML erledigt und nicht mit Automation. Müsste eigentlich gehen, ich bin der Meinung ich hätte das schon gesehen...

Geht nicht. Wenn Du Live editieren willst, dann musst Du die Word Schnittstellen nutzen.
OpenXML ist ein eigener Standard und hat mit MSOffice prinzipiell mal nichts am Hut. Gibt auch keinerlei Referenzen dazu.
Du kannst in Office aber OpenXML-Dokumente öffnen.

Wenns geht dann nur indem Du den DOM bearbeiten würdest. Aber das wäre zumindest mir neu, dass das funktioniert.

Hallo,

um sich mal den internen Aufbau der OpenXML-Dateien anzuschauen, kann ich nur das "Open XML SDK 2.0 Productivity Tool for Microsoft Office" empfehlen.

Je nach Auswahl im Document Explorer wird der Quellcode angezeigt, mit dem der Dokument-Zweig erstellt werden kann.

Nobody is perfect. I'm sad, i'm not nobody 🙁

Ja, das Tool ist sehr cool, gefällt mir auch.

Aber schade, dass das ganze nicht mit geöffneten Dokumenten funktioniert. Ich hab mirs so elegant vorgestellt!

Bei einem geöffneten Word Dokument hilft nur ein Word AddIn. Hätte an sich den Vorteil, dass du dich halt nicht mit dem OpenXml Krams auseinandersetzen musst, sondern direkt halt die Word Automation verwenden kannst. Was auch ehrlich gesagt einfacher ist.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

Moin tecla,

das kann schon funktionieren. Dein WordAddin kann aus einem beliebigen Range das WordXML auslesen. Daraus kann dann ein WordProcessingDocument erstellt werden.

Gruß
muhtanten