Speichern eines OpenXML-Dokuments (Word), das aus einer Vorlage generiert wurde

8

Ich habe ein wenig Code, der ein Word 2007 (docx) -Dokument öffnet und das entsprechende CustomXmlPart aktualisiert (wodurch die Inhaltssteuerelemente im Dokument selbst aktualisiert werden, da sie dem CustomXmlPart zugeordnet sind), kann aber nicht herausfinden, wie das geht Speichere das als neue Datei. Sicherlich kann es nicht so schwer sein!

Nach meinem derzeitigen Verständnis muss ich die Vorlage öffnen und den Inhalt in ein neues, leeres Dokument kopieren - Datei für Datei, wobei ich CustomXmlPart aktualisieren muss, wenn ich darauf stoße. Nenn mich altmodisch, aber das klingt ein wenig klobig für mich!

Warum kann ich nicht einfach WordprocessingDocument.SaveAs (Dateiname); ...?

Bitte sagen Sie mir, ich vermisse hier etwas Einfaches.

Vielen Dank im Voraus

    
DilbertDave 05.08.2009, 13:21
quelle

3 Antworten

14

Beziehen Sie sich auf das OpenXml SDK? Leider gibt es seit OpenXml SDK 2.0 keine SaveAs-Methode. Sie müssen:

  1. Erstellen Sie eine temporäre Kopie Ihrer Vorlagendatei und benennen Sie sie nach Belieben.
  2. Führe deine OpenXml-Änderungen in der obigen Datei durch.
  3. Speichern Sie die entsprechenden Abschnitte (z. B. mit der Methode. myWordDocument.MainDocumentPart.Document.Save() für den Hauptinhalt oder someHeaderPart.Header.Save() für einen bestimmten Header).
Ahmad Mageed 19.08.2009, 20:10
quelle
0

Tatsächlich können Sie zumindest in OpenXml SDK 2.5. Achten Sie jedoch darauf, dass Sie mit einer Kopie der Originaldatei arbeiten, da sich Änderungen in der XML-Datei in der Datei widerspiegeln. Hier haben Sie die Methoden Laden und Speichern meiner benutzerdefinierten Klasse (nach dem Entfernen eines Validierungscodes, ...):

%Vor%

"_document" als eine WordprocessingDocument -Instanz.

    
quelle
0

In Open XML SDK 2.5 Schließen speichert Änderungen, wenn AutoSave wahr ist. Siehe meine Antwort hier: Ссылка

    
user3285954 31.03.2016 13:53
quelle

Tags und Links