2011-01-17 6 views
1

Was ist der beste Weg, um alle Zusammenführungsfelder aus einem Word 2010-Dokument mit openxml SDK 2.0 zu entfernen, und ersetzen Sie sie mit einem einfachen Text? Ich habe einige Schwierigkeiten, sie sauber zu entfernen. Habe versucht, alle Run-Objekte, die einen FieldCode mit einem "MERGEFIELD" enthalten, zu entfernen, und habe einen neuen Run mit meinem Text angehängt. Aber ich vermisse etwas Entscheidendes, da das Feld für dieses Element definiert bleibt.Ersetzen Sie Seriendruckfelder mit Text mit OpenXML SDK 2.0

+0

Können Sie Ihren Code posten? – amurra

Antwort

0

Ok, ich habe das irgendwie gelöst. Ich wähle jeden Absatz aus, der einen FieldCode enthält, der den Text "MERGEFIELD" enthält, und laufe durch jeden Lauf, wobei alle anderen Typen auf eine Liste gesetzt werden. Wenn ich einen FieldChar-Endtyp erkenne, rolle ich zurück und ersetze die vier Runs, aus denen das Zusammenführungsfeld besteht, durch einen einzigen Run, der einen Text-Knoten enthält. Das einzige Problem, das ich jetzt noch habe, sind verschachtelte Felder. Z.B. Zusammenführungsfeld innerhalb eines if-Tests.

Verwandte Themen